我需要绘制一些数据,到目前为止,使用ggplot2并没有问题...到目前为止,我使用的代码如下:
ggplot(aes(x=mo,y=Sulphate, color=yr, group=yr),data=dd.tot)+
geom_errorbar(aes(x=mo, ymin=Sulphate-Sulphate.1, ymax=Sulphate+Sulphate.1), width=0.25)+
geom_point()+
geom_line()+
ggtitle("Sodium 0-1 um")+
xlab("Date")+
ylab("Sodium ng m3")
ggsave("Sodium.png", plot=last_plot(), device=png(), path="C:/Users/Raffaello/Desktop/R_Rita/Dekati_tot", width = 20, height = 14, units = c("cm"))
这给了我想要的结果
现在,由于我需要添加多行,因此我更改了代码并添加了两个字符串geom_line
ggplot(aes(x=Date), data=dati)+
geom_line(aes(y=Sodium, linetype="PM10"))+
geom_line(aes(y=Sodium_ng_tot, linetype="Dekati Sum", color=yr))+
ggtitle("Sodium")+
xlab("Date")+
ylab("Sodium ng m3")
但是我得到了从黑色到浅蓝色的渐变,而不是不同年份的不同颜色“块”
有没有办法获得与以前相同的颜色?
答案 0 :(得分:3)
ggplot
对连续数据使用渐变色标,对分类数据使用定性色标。
您的dati$yr
列必须为数字(连续),而您的dd.tot$yr
列为factor
(类别)。用dati$yr = factor(dati$yr)
进行转换,或在color = factor(yr)
内部将映射更改为aes()
。