如何调整geom_line中的线条大小而不获取另一个(无用的)图例?

Mat*_*ert 6 r ggplot2

我想调整线条的大小(两者都有),因为我觉得它们太瘦了.下面的代码会这样做,但会为size创建一个图例,这是没用的,因为size没有可以映射到它的变量.

qplot(date,value,data=graph1,geom="line",colour=variable,xlab="",ylab="",size=1)
+ scale_y_continuous(limits = c(-0.3,0.3)) + opts(aspect.ratio = 2/(1+sqrt(5))) 
+ scale_colour_manual("Variable",c(Line1="red",Line2="blue")) 
+ opts(legend.size="none")
Run Code Online (Sandbox Code Playgroud)

我的图由两行代表,表示同一时间跨度内两个不同变量的时间序列.变量映射到颜色.如果我试图影响线条的大小,qplot总是尝试将"大小"映射到另一个参数并显示另一个图例.

我也跟着这个讨论,结束了哈德利告诉其他人,删除部分传奇还没有实现.我知道在混合中添加另一个参数意味着需要这个参数的图例.也许我出于视觉原因使用了错误的命令来影响线条大小.

感谢任何建议!

JoF*_*wld 6

我相信qplot()所有美学设置都被解释为内在aes().如果您不希望尺寸设置显示在图例中,请使用I()for 包装值.

qplot(date, value,data=graph1,
      geom="line",
      colour=variable,xlab="",
      ylab="",
      size= I(1))+
   scale_y_continuous(limits = c(-0.3,0.3))+
   scale_colour_manual("Variable",c(Line1="red",Line2="blue"))+ 
   opts(legend.size="none",
        aspect.ratio = 2/(1+sqrt(5)))
Run Code Online (Sandbox Code Playgroud)

现在不应该有尺寸图例.

另外需要注意的是,现在可以从传奇中消除美学规模.例如,如果你想以更难的方式去除尺寸比例,你可以做到

last_plot() + scale_size(legend = F)
Run Code Online (Sandbox Code Playgroud)