2014-07-18 48 views
0

我确定这已经做了很多次,但显然我没有使用正确的术语进行搜索。R:分别用一个变量绘制线条,用另一个变色

我有列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)') 

这使得:

The plot

+0

尝试'组'美学 – baptiste

+0

@baptiste令人尴尬的简单!添加一个答案,我会给你一个复选标记。 :) – Anthony

回答

0

决赛解决方案:集团审美。 (谢谢@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)') 
1

比你期望的结果略有不同,但在这里不用..

ggplot(df, aes(x = year, y = deaths)) + 
    geom_line(aes(color = country, linetype = region)) 

plot

相关问题