R 在ggplot2中自定义线型,或在线条下方添加自动箭头/符号
我想在ggplot中使用自定义线型。如果这是不可能的(我相信这是真的),那么我正在寻找一种聪明的方法,在我的线条上方或下方绘制箭头状的符号。 一些背景:R 在ggplot2中自定义线型,或在线条下方添加自动箭头/符号,r,ggplot2,line,R,Ggplot2,Line,我想在ggplot中使用自定义线型。如果这是不可能的(我相信这是真的),那么我正在寻找一种聪明的方法,在我的线条上方或下方绘制箭头状的符号。 一些背景: 我想绘制一些水质数据,并将其与红线中的标准(由欧洲水框架指令设定)进行比较。以下是一些可复制的数据和我的图: df <- data.frame(datum <- seq.Date(as.Date("2014-01-01"), as.Date("2014-12-31"),by = "week"),y=rnorm(53,me
我想绘制一些水质数据,并将其与红线中的标准(由欧洲水框架指令设定)进行比较。以下是一些可复制的数据和我的图:
df <- data.frame(datum <- seq.Date(as.Date("2014-01-01"),
as.Date("2014-12-31"),by = "week"),y=rnorm(53,mean=100,sd=40))
(plot1 <-
ggplot(df, aes(x=datum,y=y)) +
geom_line() +
geom_point() +
theme_classic()+
geom_hline(aes(yintercept=70),colour="red"))
df我不确定请求的是什么,但听起来好像您希望根据y值大于或小于某个预期值的位置在点上或点下设置箭头。如果是这种情况,则使用geom_段
:
require(grid) # as noted by ?geom_segment
(plot1 <-
ggplot(df, aes(x=datum,y=y)) + geom_line()+
geom_segment(data = data.frame( df$datum, y= 70, up=df$y >70),
aes(xend = datum , yend =70 + c(-1,1)[1+up]*5), #select up/down based on 'up'
arrow = arrow(length = unit(0.1,"cm"))
) + # adjust units to modify size or arrow-heads
geom_point() +
theme_classic()+
geom_hline(aes(yintercept=70),colour="red"))
require(grid)#如geom_段所述
(图170),
aes(xend=基准,yend=70+c(-1,1)[1+向上]*5),#根据“向上”选择向上/向下
箭头=箭头(长度=单位(0.1,“厘米”))
)+#调整单位以修改大小或箭头
几何点()+
theme_classic()+
geom_hline(aes(yintercept=70),color=“red”))
如果我对所需内容的理解是错误的,而您只需要一组向下箭头,那么只需拿出有关创建和使用“向上”的内容,并使用减号。我不确定请求的内容,但听起来好像您需要基于y值大于或小于某个预期值的点的向上或向下箭头。如果是这种情况,则使用geom_段
:
require(grid) # as noted by ?geom_segment
(plot1 <-
ggplot(df, aes(x=datum,y=y)) + geom_line()+
geom_segment(data = data.frame( df$datum, y= 70, up=df$y >70),
aes(xend = datum , yend =70 + c(-1,1)[1+up]*5), #select up/down based on 'up'
arrow = arrow(length = unit(0.1,"cm"))
) + # adjust units to modify size or arrow-heads
geom_point() +
theme_classic()+
geom_hline(aes(yintercept=70),colour="red"))
require(grid)#如geom_段所述
(图170),
aes(xend=基准,yend=70+c(-1,1)[1+向上]*5),#根据“向上”选择向上/向下
箭头=箭头(长度=单位(0.1,“厘米”))
)+#调整单位以修改大小或箭头
几何点()+
theme_classic()+
geom_hline(aes(yintercept=70),color=“red”))
如果我错了,你想要的只是一堆向下的箭头,那么就去掉关于创建和使用“向上”的内容,用减号。x的正确间距是什么意思?老实说,即使旋转箭头(plot1+geom_text(data=extrapoints,aes(x=datum2,y=y2,label=“>”),angle=90,color=“red”)
),也不能真正把事情弄清楚。创建彩色矩形来表示可接受范围内/之外的情况如何?@Heroka我认为一条由向下箭头组成的线清楚地表明该值应该在该线之下。我也想到了彩色矩形,例如带有geom_ribbon
,可能会解决这个问题。但我也很好奇自定义线型是否可行,如果不可行,其他人会如何处理这个问题。x的正确间距是什么意思?老实说,即使旋转箭头(plot1+geom_text(data=extrapoints,aes(x=datum2,y=y2,label=“>”),angle=90,color=“red”)
),也不能真正把事情弄清楚。创建彩色矩形来表示可接受范围内/之外的情况如何?@Heroka我认为一条由向下箭头组成的线清楚地表明该值应该在该线之下。我也想到了彩色矩形,例如带有geom_ribbon
,可能会解决这个问题。但我也很好奇自定义线型是否可行,如果不可行,其他人会如何处理这个问题。我更喜欢自定义线型,但这是一个很好的选择。巧妙使用geom_段
。谢谢恐怕“自定义线型”并没有足够的描述性或指导性来激发我的想象力。标准线型有实线、虚线、虚线等。我想知道是否可以定义自己的线型,例如由符号组成的线型。说一行aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?基本和晶格打印函数允许使用pch
参数。我在ggplot2和pch上做了一个简单的搜索:谢谢,看起来很有趣!我更喜欢自定义线型,但这是一个非常好的选择。巧妙使用geom_段
。谢谢恐怕“自定义线型”并没有足够的描述性或指导性来激发我的想象力。标准线型有实线、虚线、虚线等。我想知道是否可以定义自己的线型,例如由符号组成的线型。说一行aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?基本和晶格打印函数允许使用pch
参数。我在ggplot2和pch上做了一个简单的搜索:谢谢,看起来很有趣!