我正在制作带有错误栏的多行图。如果我不使用size
参数,一切都很好:
# sample data
Response=runif(4)
ResponseMin=Response-Response/5
ResponseMax=Response+Response/5
Cases=rep(c("Case1","Case2"),each=2)
df=data.frame(x=1:2,Average=Response,Lower=ResponseMin,Upper=ResponseMax,Case=Cases)
# let's plot
library(ggplot2)
ggplot(df,aes(x=x,y=Average,colour=Case)) +
geom_line(aes(group=Case)) +
geom_point() +
geom_errorbar(aes(ymin=Lower,ymax=Upper,width=0.25)) +
labs(y="foo",title="Some plot fu")
然而,当我修改线条大小时,我开始得到奇怪的东西:
ggplot(df,aes(x=x,y=Average,colour=Case)) +
geom_line(aes(group=Case, size = 1)) +
geom_point() +
geom_errorbar(aes(ymin=Lower,ymax=Upper,width=0.25)) +
labs(y="foo",title="Some plot fu")
为什么额外的传奇条目" 1"?当我为errobars添加size
参数时,看起来线条的大小保持不变,无论size
的值是什么:
ggplot(df,aes(x=x,y=Average,colour=Case)) +
geom_line(aes(group=Case, size = 1)) +
geom_point() +
geom_errorbar(aes(ymin=Lower,ymax=Upper,width=0.25, size = 1)) +
labs(y="foo",title="Some plot fu")
ggplot(df,aes(x=x,y=Average,colour=Case)) +
geom_line(aes(group=Case, size = 2)) +
geom_point() +
geom_errorbar(aes(ymin=Lower,ymax=Upper,width=0.25, size = 2)) +
labs(y="foo",title="Some plot fu")
你能帮我弄清楚这里发生了什么吗?
答案 0 :(得分:1)
如果在size
内设置aes
,则会将其映射到变量
`1` = 1
和ggplot2创建一个图例。如果您只想设置大小,可以在aes
之外执行此操作:
geom_line(aes(group=Case), size = 1)
答案 1 :(得分:1)
试试这个,大小在aes()
之外ggplot(df,aes(x=x,y=Average,colour=Case)) +
geom_line(aes(group=Case), size = 1) +
geom_point() +
geom_errorbar(aes(ymin=Lower,ymax=Upper,width=0.25)) +
labs(y="foo",title="Some plot fu")