生成散点图但使用三个变量

时间:2015-04-17 17:41:58

标签: r plot scatter-plot

这是一个我需要制作的相当奇怪的情节,并希望有人可以帮助我。

我的数据是:

a<-c(1760,650,1210,1670,1150,1720,1900,2010,1500,1720,1430,2090,1840)
b<-c(992,1072,1522,521,851,583,868,591,794,621,767,951,740)
min_b<-c(963,1036,1405,502,834,559,806,558,741,597,725,914,725)
max_b<-c(1042,1104,1662,543,887,619,898,635,841,646,838,1018,757)
year<-c(1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010)
data<-data.frame(a,b,min_b,max_b,year)

我制作的第一张图是使用以下命令在地块上显示a vs b minmax的{​​{1}}:

b

这种散点图是否可以按时间顺序(即根据年份)生成。 我会感谢任何帮助。

非常感谢

1 个答案:

答案 0 :(得分:1)

如果可以不使用基本图形,那么使用facetting的ggplot2版本可能对您有用 facetted ggplot

这个代码是:

library(ggplot2)
# map your data to relevant axis values
ggplot(data,aes(x=a,y=b,ymin=min_b, ymax=max_b))+
# Plot you points (you can customise this)
  geom_point()+
# Plot your error bars (using ymin and ymax
  geom_errorbar()+
# split your chart by year
  facet_wrap(~year)

强制一行

代码变为:

ggplot(data,aes(x=a,y=b,ymin=min_b, ymax=max_b))+
  geom_point()+
  geom_errorbar()+
  facet_wrap(~year,ncol = length(year))

制作的图表是: Single row chronology