gpt4 book ai didi

r - 更改 geom_bar 对象的一部分的不透明度

转载 作者:行者123 更新时间:2023-12-05 00:17:26 28 4
gpt4 key购买 nike

我正在尝试更改 ggplot 条形图的不透明度。考虑以下示例:

df <- data.frame(period = rep(c("current", "past"), 3), 
type = c("so_far", "so_far", "source_x", "source_x", "source_y", "source_y"),
income = c(12, 10, 7, 9, 4, 7))
ggplot(df, aes(x = period, y = income, fill = type)) + geom_bar(stat = "identity")

这给出了以下情节:
enter image description here

但实际上,当前时期的 source_x 和 source_y 是估计值,而在过去它们是真实值。所以我想改变左侧栏上蓝色和绿色部分的不透明度。
这能做到吗?如何?

最佳答案

虚线边框在这里可能更有效,以突出显示包含估计值的条形部分。在下面的代码中,我同时使用了线型和 alpha 美学来标记估计的两个条形部分。我还反转了图例,以便颜色顺序对应于堆叠条的颜色顺序。

library(ggplot2)

ggplot(df, aes(x = period, y = income, fill = type,
linetype=ifelse(grepl("current", period) & grepl("source", type), "B", "A"),
alpha=ifelse(grepl("current", period) & grepl("source", type), 0, 1))) +
geom_bar(stat = "identity", lwd=0.5, colour="grey40") +
scale_alpha(range=c(0.5,1)) +
theme_bw() +
guides(alpha=FALSE, linetype=FALSE,
fill=guide_legend(reverse=TRUE))

enter image description here

关于r - 更改 geom_bar 对象的一部分的不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40350904/

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