1

我正在制作带有误差线的多线图。如果我不使用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”?当我为错误栏添加一个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")

在此处输入图像描述

你能帮我弄清楚这里发生了什么吗?

4

2 回答 2

1

如果您size在内部设置aes,则将其映射到变量

`1` = 1

和 ggplot2 创建一个图例。如果您只想设置大小,可以在以下范围内执行此操作aes

geom_line(aes(group=Case), size = 1)
于 2015-12-18T11:27:12.103 回答
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")
于 2015-12-18T11:27:35.390 回答