【发布时间】:2020-01-20 05:38:25
【问题描述】:
我正在尝试绘制两种类型的时间序列图。一种“最小-最大”色带比“10th-90h 百分位数”色带更透明,但颜色是特定于区域的。在另一个图表中,我希望色带的颜色既是特定区域的,也是特定于色带类型的。有人可以帮助我吗?我在下面添加了一些尝试使用透明度失败的代码(使用 alpha 值并没有真正改变我期望的数字)
library(ggplot2)
library(RColorBrewer)
cbPalette <- c("red", "blue")
test <- data.frame(time=c("2018-04-30", "2018-05-31", "2018-06-30", "2018-07-31", "2018-08-31", "2018-09-30", "2018-04-30", "2018-05-31", "2018-06-30", "2018-07-31", "2018-08-31", "2018-09-30"),
region=c("regionA","regionA","regionA","regionA","regionA","regionA", "regionB","regionB","regionB","regionB","regionB","regionB"),
minvalue=c(50, 70, 73, 97, 80, 65, 50, 70, 73, 97, 80, 65),
maxvalue=c(70, 100, 100, 100, 90, 70, 70, 100, 100, 100, 90, 70),
value90th=c(60, 90, 80, 98, 85, 69, 60, 90, 80, 98, 85, 69),
value10th=c(60, 80, 75, 97, 84, 67,60, 80, 75, 97, 84, 67),
addvalue=c(60, 80, 75, 50, 84, 67,60, 60, 75, 97, 84, 67))
p <- ggplot(test, aes(x=as.POSIXct(time)))
p <- p + facet_grid(region~.)
p <- p + geom_ribbon(aes(ymin = value10th, ymax = value90th, fill=region, alpha = 0.7))
p <- p + geom_ribbon(aes(ymin = minvalue, ymax = maxvalue, fill=region, alpha = 0.6))+ scale_fill_manual(values=cbPalette)
p <- p + geom_line(aes(y=addvalue, colour="pink"), size=0.5)
p
【问题讨论】:
标签: r ggplot2 plot time-series