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

时间:2010-07-30 23:06:25

标签: 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")

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

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

任何建议的Thx!

1 个答案:

答案 0 :(得分:6)

我相信qplot()所有审美设置都被解释为aes()。如果您不希望尺寸设置显示在图例中,请将值I()包装为原样。

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)))

现在不应该有尺寸图例。

另外需要注意的是,现在可以从传奇中消除美学规模。例如,如果您想更难以删除大小比例,则可以执行

last_plot() + scale_size(legend = F)