生成散点图但使用三个变量
Produce a scatter plot but using three variables
这是一个我需要制作的相当奇怪的情节,希望有人能帮助我。
我的数据是这样的:
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
,其中 min
和 b
的 max
使用以下命令显示在图上:
plot(data$a, data$b)
arrows(data$a, data$min_b, data$a, data$max_b,col="black",lty=1, code=3, angle=90, length=0.1)
有什么方法可以按时间顺序(即根据年份)生成此散点图。
如有任何帮助,我将不胜感激。
非常感谢
如果不使用基础图形没关系,这个使用分面的ggplot2版本可能会很好地为您服务
这个代码是:
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))
生成的图表是:
这是一个我需要制作的相当奇怪的情节,希望有人能帮助我。
我的数据是这样的:
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
,其中 min
和 b
的 max
使用以下命令显示在图上:
plot(data$a, data$b)
arrows(data$a, data$min_b, data$a, data$max_b,col="black",lty=1, code=3, angle=90, length=0.1)
有什么方法可以按时间顺序(即根据年份)生成此散点图。 如有任何帮助,我将不胜感激。
非常感谢
如果不使用基础图形没关系,这个使用分面的ggplot2版本可能会很好地为您服务
这个代码是:
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))
生成的图表是: