gpt4 book ai didi

R/ggplot2 : how to match legend and plot colors in overlapping area plots?

转载 作者:行者123 更新时间:2023-12-01 04:13:05 24 4
gpt4 key购买 nike

我有两个区域图(称它们为“蓝色”和“绿色”),其中 green大多在blue下情节,但在极少数点上,它高于 blue阴谋。我想使用透明度说 alpha = 0.2两者都可以,并且还可以为每个指定颜色。我现在的问题是,自从 green情节主要在blue下地 block ,它的区域大多是混合色blue + green = 其他颜色,仅在少数地方显示其“真正的”绿色。然而,图例当然显示 blue绘图映射到蓝色和 green情节映射到绿色。问题是,当有人看图表时,他们会感到困惑,因为 green情节大多看起来非绿色(因为它大部分时间都与蓝色重叠)。

这是我的代码(我的真实应用程序的 super 简化版本)。

df <- data.frame( date = 1:5, blue = 10, green = c(1,5,11,5,1))
df.m <- melt( df, id = 'date', variable_name = 'type' )
df.m$type <- ordered( df.m$type, c('green', 'blue'))

ggplot(df.m, aes(date,value)) +
geom_area( aes(fill = type), position = 'identity', alpha = 0.2) +
scale_fill_manual ( values = c('green', 'blue') )

enter image description here

如您所见,绿色图的“真绿色”区域非常小,因此 green 的图例颜色与 green 的大部分内容不匹配阴谋。这当然是设计上的正确行为,但我想知道是否有某种方法可以获得 green 的图例颜色,以及重叠的 blue+green颜色要匹配。我尝试过的一件事是转换 blue可变为 blue - green ,然后使面积图堆叠(使用 position = "stack" )。这几乎可以工作,但不太令人满意,因为新的 blue 日期上的颜色变量为负看起来很奇怪。

还有其他方法可以获取 green 的图例颜色吗?和“重叠的蓝/绿”区域的颜色是否匹配?也许一种直接指定图例颜色的方法?任何帮助表示赞赏!

最佳答案

我认为通过 ggplot2 中的简单调用无法在图例中定义自定义颜色,但如果您坚持指定颜色,则可以通过 opts(legend.position = "none") 绘制没有图例的图。并附加一个单独的图例,例如。使用网格视口(viewport)。包gridExtra也可能是后一项任务的重要资源。

关于R/ggplot2 : how to match legend and plot colors in overlapping area plots?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981764/

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