如何制作不同尺寸的单行

时间:2017-07-14 11:50:10

标签: r ggplot2

我有这个样本数据:

head(output.melt,10)
   month variable     value LineSize
1     01     1997 100.00000        1
2     02     1997  91.84783        1
3     03     1998  92.67626        1
4     04     1998 105.70113        1
5     05     1998 115.12516        1
6     06     1998 118.95298        1
7     07     1999 117.99673        1
8     08     1999 125.50852        1
9     09     1999 119.39502        1
10    10     1999 100.79032        1
11    03     Mean 103.17473        2
12    04     Mean 108.12440        2
13    05     Mean 109.54016        2
14    06     Mean 107.71431        2
15    07     Mean 107.86694        2
16    08     Mean 108.32371        2
17    09     Mean 102.06684        2
18    10     Mean  99.96975        2
19    11     Mean 111.94529        2
20    12     Mean 113.49491        2

我想制作一个情节,其中一行有不同的linetypesize。我得到了不同的linetype但不是size

theplot=ggplot(data = output.melt, aes(x=month, y=value,colour=variable,group=variable,linetype = LineSize)) 
    +geom_line()
    +scale_linetype( guide="none") 
    +ggtitle(as.character("Hello"))+theme_economist()

但是上面的代码并没有使那条线(LineSize等于2)比我想要的更宽。将size=LineSize添加到a​​es会创建一个丑陋的图形。 enter image description here

1 个答案:

答案 0 :(得分:2)

正如评论中建议的那样,您必须使用以下代码:

theplot=ggplot(data = output.melt, aes(x=month, y=value,colour=variable,group=variable, size= as.numeric(LineSize))) 
    +geom_line()
    +scale_linetype( guide="none") 
    +ggtitle(as.character("Hello"))

请注意,size = 2的大小非常大,因此您必须调整表格。