我正在使用ggplot2开发一个图形来显示趋势。我的数据框D
有3个变量Season,variable,value
。我的数据框具有下一个结构(我在最后部分添加dput()
版本):
Season variable value
1 I1 Energy 0.01278667
2 I2 Energy 0.01260430
3 I3 Energy 0.01228117
4 I4 Energy 0.01328996
5 I5 Energy 0.01299958
6 I6 Energy 0.01201685
7 I7 Energy 0.01189642
8 I8 Energy 0.01217838
9 I9 Energy 0.01233255
10 I10 Energy 0.01232536
11 I11 Energy 0.01258488
12 I12 Energy 0.01281201
13 I13 Energy 0.01300705
14 I14 Energy 0.01240693
15 I15 Energy 0.01252280
然后我使用下一代码来构建我的图表:
library(ggplot)
colors=c("red")
k <- ggplot(D, aes(x=Season, y=value,colour=variable))+ scale_color_manual(values=colors)
k <- k + geom_line(aes(group=variable),size=1.3)
k <- k + geom_point(aes(colour=variable, group=variable),size=3.8,color="white")
k <- k + geom_point(shape = 1,size = 3.8,colour = "red",pch=21)
我得到了这个结果:
正如你所看到的,图形中的线条有一个带红色圆圈的白点,但在图例中我只能得到红线,我想在图例中用红线获得相同的样式,白色点和最后的红色圆圈,但我尝试使用scale_fill_manual()
和scale_shape_manual()
而没有预期的结果。 dput()
的{{1}}版本是下一个:
D
感谢您的帮助。
答案 0 :(得分:1)
不是绘制两组点,而是使用形状21-25来获得填充的形状。这允许您分别设置填充和颜色。例如
ggplot(D, aes(x=Season, y=value, color=variable))+
geom_line(aes(group=variable),size=1.3) +
geom_point(size=3.8, shape=21, fill="white") +
scale_color_manual(values=colors)
返回