三十多年来,我有多种数据来源.数据不连续,并在多个地方重叠.我想以不同的颜色绘制每个数据源的点,然后添加一个使用所有数据源的趋势线.包含的代码包含一些示例数据和两个绘图示例.第一次调用ggplot,绘制所有数据的单个趋势线.第二个ggplot调用,用自己的趋势线清楚地绘制不同颜色的每个源.
library(ggplot2)
the.data <- read.table( header=TRUE, sep=",",
text="source,year,value
S1,1976,56.98
S1,1977,55.26
S1,1978,68.83
S1,1979,59.70
S1,1980,57.58
S1,1981,61.54
S1,1982,48.65
S1,1983,53.45
S1,1984,45.95
S1,1985,51.95
S1,1986,51.85
S1,1987,54.55
S1,1988,51.61
S1,1989,52.24
S1,1990,49.28
S1,1991,57.33
S1,1992,51.28
S1,1993,55.07
S1,1994,50.88
S2,1993,54.90
S2,1994,51.20
S2,1995,52.10
S2,1996,51.40
S3,2002,57.95
S3,2003,47.95
S3,2004,48.15
S3,2005,37.80
S3,2006,56.96
S3,2007,48.91
S3,2008,44.00
S3,2009,45.35
S3,2010,49.40
S3,2011,51.19")
ggplot( the.data, aes( the.data$year, the.data$value ) ) + geom_point() + geom_smooth()
#ggplot( the.data, aes( the.data$year, the.data$value, color=the.data$source ) ) + geom_point() + geom_smooth()
Run Code Online (Sandbox Code Playgroud)
第二个调用显示彩色数据点,我想添加一个表示所有年份的连续趋势线.
像这样:
ggplot(the.data, aes( x = year, y = value ) ) +
geom_point(aes(colour = source)) +
geom_smooth(aes(group = 1))
Run Code Online (Sandbox Code Playgroud)

几点说明:
不要将美学映射到像孤立的矢量the.data$year.(直到你真正知道自己在做什么,并知道何时违反该规则.)只需使用列名.
在各自的geom调用中将您想要的美学映射到不同的层中.在这种情况下,我希望点的颜色不同,但对于平滑的线,我希望数据组合在一起(group = 1).
| 归档时间: |
|
| 查看次数: |
1913 次 |
| 最近记录: |