gpt4 book ai didi

r - ggplot图例显示透明度和填充颜色

转载 作者:行者123 更新时间:2023-12-03 23:43:03 33 4
gpt4 key购买 nike

我正在绘制两条半透明的丝带。使用下面的代码,不带 scale_fill_manual部分,我基本上得到了我想要的,带有一个名为 "red" 的图例, 和标签 bluered .添加 scale_fill_manual部分允许我根据我的需要命名图例及其条目,但我失去了图例中彩色矩形的透明度。

x=1:10
y1=1:10
y2=2:11
y3=10:1
y4=9:0
dt=data.frame(x,y1,y2,y3,y4)
library(ggplot2)
ggplot(dt)+
geom_ribbon(aes(x=x,ymin=y1,ymax=y2,fill='red'),
alpha=0.4,)+
geom_ribbon(aes(x=x,ymin=y3,ymax=y4,fill='blue'),
alpha=0.5)+
scale_fill_manual(name='legendname',
values=c('red','blue'),
labels=c('one','two'))

enter image description here

sessionInfo() 的输出
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] scales_0.2.3 ggplot2_0.9.3 plyr_1.8 reshape2_1.2.2

loaded via a namespace (and not attached):
[1] colorspace_1.2-0 dichromat_1.2-4 digest_0.6.0 grid_2.15.2 gtable_0.1.2 labeling_0.1
[7] MASS_7.3-22 munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5 rstudio_0.97.248 stringr_0.6.2
[13] tools_2.15.2

类似问题有很多解决方案( Customize legend in ggplothttps://stats.stackexchange.com/questions/5007/how-can-i-change-the-title-of-a-legend-in-ggplot2 等),但我找不到任何专门解决这个问题的方法。

提前致谢

最佳答案

您可以通过添加以下内容来覆盖图例中的美学:

+ guides(fill = guide_legend(override.aes= list(alpha = 0.4)))

到您的 ggplot 电话。

但与 ggplot 中的大多数事情一样,以一种使多个 geom_ribbon 的方式排列数据可能更简单。不必要的调用:
dt1 <- data.frame(x = c(x,x),
ymin = c(y1,y3),
ymax = c(y2,y4),
grp = rep(c('red','blue'),each = 10))
ggplot(data = dt1,aes(x = x,ymin = ymin, ymax = ymax,fill = grp)) +
geom_ribbon(alpha = 0.4) +
scale_fill_manual(name = "legendname",
values = c('red','blue'),
labels = c('one','two'))

enter image description here

关于r - ggplot图例显示透明度和填充颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14130943/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com