区分具有多行的线型

时间:2017-11-12 16:11:53

标签: r ggplot2

Var1           Var2 Freq Week
1       A2 Status Yet to Attempt    9   45
2       A3 Status Yet to Attempt    9   45
3 A4 Udemy Status Yet to Attempt    6   45
4       A5 Status Yet to Attempt    9   45
5       A2 Status Yet to Attempt   11   46
6       A3 Status Yet to Attempt    9   46
7 A4 Udemy Status Yet to Attempt    8   46
8       A5 Status Yet to Attempt   11   46

我希望将其保留在geom_line()中,并尝试区分不同的线型。

ggplot(df,aes(x=week,y=Freq) + geom_line(aes(col=Var1)).. 

不幸的是,对于第1行和第8行,x和y的值是相同的。因此我们需要更改线型来区分。

2 个答案:

答案 0 :(得分:1)

您可以将linetype设置为这样的美学:

ggplot(df,aes(x=week,y=Freq) + geom_line(aes(linetype=Var1)).. 

由于您的示例数据很难输入到R中,以下是使用mtcars数据集的示例:

ggplot(mtcars, aes(x=mpg, y=disp)) + 
    geom_line(aes(linetype=as.factor(cyl))) 

Example of linetype as an aesthetic

答案 1 :(得分:0)

要将线型设置为常量值,请使用linetype geom参数(例如,geom_line(data=d, mapping=aes(x=x, y=y), linetype=3)将图层中所有线条的线型设置为3,这对应于虚线。 / p>

enter image description here