[英]R: Plot lines separately by one variable, colored by another
我敢肯定这已经做过很多次了,但是显然我没有使用正确的术语进行搜索。
我在R中有一些像这样的时间序列数据:
country year deaths region global.region
1 Afghanistan 2006 0.095830775 Asia & Pacific Global South
2 Afghanistan 1994 0.127597064 Asia & Pacific Global South
3 Algeria 2000 0.003278038 Arab States Global South
4 Algeria 2001 0.003230578 Arab States Global South
5 Algeria 1998 0.006746176 Arab States Global South
6 Algeria 1999 0.019952364 Arab States Global South
...
基本上,我想按国家/地区绘制所有线条,但我希望按区域上色(并在图例中标记)。 我希望在不尝试建立平均模型的情况下查看数据中的某些区域趋势(部分是因为我想查看离群值,部分是因为许多国家/地区缺少数据,我认为良好的区域模型可能对我来说很困难在这一点上,充其量只是在误导)。
因此,最后,例如,我将分别绘制布基纳法索,阿尔及利亚和科特迪瓦的线条,但它们都是橙色。 我将分别为阿富汗,巴基斯坦和伊朗开辟专线,但它们全都是蓝色。
最好用ggplot2完成,因为那是我目前正在学习的绘图库。 但是也许在R中有一种标准方法可以在所有(大多数)绘图库中使用?
编辑:最终解决方案:团队审美。 (感谢@baptiste)
qplot(data=df, x=year, y=deaths, color=region, group=country) +
geom_line() +
xlab('Year') + ylab('Deaths per 100,000') + ggtitle('Deaths per 100,000 by country (WHO)')
这使得:
与您期望的结果略有不同,但是就在这里。
ggplot(df, aes(x = year, y = deaths)) +
geom_line(aes(color = country, linetype = region))
最终解决方案:团队审美。 (感谢@baptiste)
qplot(data=df, x=year, y=deaths, color=region, group=country) +
geom_line() +
xlab('Year') + ylab('Deaths per 100,000') + ggtitle('Deaths per 100,000 by country (WHO)')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.