繁体   English   中英

ggplot2 如何为不同的geom_ribbon添加不同的调色板?

[英]ggplot2 how to add different sets of colour palettes to different geom_ribbon?

我正在尝试 plot 两种类型的时间序列图。 一种“最小-最大”色带比“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

在此处输入图像描述

我认为解决方案可能在 scale_color_manual 和 scale_fill_manual 中。

在一个图表中,我有多个方面:

p <- p + 
  geom_smooth(method = "glm", method.args = list(family = "gaussian"), formula = y ~ 
poly(log(x), 3, raw=TRUE), se=TRUE, alpha = 0.3,aes(fill = Treatment)) +
  scale_linetype_manual(values = c("solid","dashed","dotted")) +
  scale_color_manual(values = c(Col[4],Col[3], Col[2])) +
  scale_fill_manual(values = c(Col[4],Col[3], Col[2]))

也许您可以将 alpha 作为列表添加到 scale_fill_manual 中,以便为不同的功能区提供不同的 alpha 值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM