我希望使用 ggplot 围绕一条线绘制一个阴影区域。这两个数据集没有直接关系,我正在对两者进行一些比较。基本上,我希望绘制下面代码产生的输出,以及在变量“lower_region_values”和“upper_region_values”中输入的具有最小和最大y轴值的阴影区域。
请帮我解决这个问题。
可重现的代码从这里开始
library("ggplot2")
plotName <- 'Comparison of latitudinal averages'
xlims <- c(65,80) # x axis extent
input_df <- structure(list(flux = c(0.08733913, 0.1015934,
0.1244135, 0.1390303,0.08417182, 0.02371609),
model = structure(c(1L, 1L, 1L,1L, 1L, 1L),.Label =
c("CASA_GFED_Optimized"), class = "factor"), lat =
c(79, 77, 75, 73, 71, 69)), .Names = c("flux","model",
"lat"),row.names = c(NA, -6L), class = "data.frame")
lower_region_values<-c(-0.002157493,-0.004465291,-0.376925852,
-0.312737571,-0.327533801, -0.299551351)
upper_region_values<-c(1.943331e-06,1.758454e-04,3.183347e-01,
2.442368e-01,1.206353e- 01,1.572531e-02)
sd_input_lower$model <- factor(sd_input_lower$model,
levels=levels(input_df$model))
sd_input_upper$model <- factor(sd_input_upper$model,
levels=levels(input_df$model))
需要使用两个向量中的值的阴影区域:lower_region_values 和 upper_region_values
chart <- ggplot(input_df, aes(x=lat, group=model,
colour=model, fill=model)) +
# geom_ribbon(data = sd_input_upper, aes(ymin = -sd, ymax=sd), alpha=0.5) +
geom_line(aes(y=flux), size=1.0) +
opts(title=plotName,legend.position='bottom') +
scale_x_continuous('Latitude',limits=xlims) +
scale_y_continuous(expression(paste('Latitudinal average of NEE ',
(g~C~m^{-2}/day)))) +
scale_colour_discrete(name='Model') +
scale_fill_discrete(name='Model')
print(chart)