【发布时间】:2021-12-03 02:35:02
【问题描述】:
我想为我的 ggplot 添加一个 alpha,但不影响图例的 alpha。当前的解决方案是添加:guides(color = guide_legend(override.aes = list(alpha = 1))) 的覆盖。这可以设置 alpha=1,但会将图例比例更改为离散点而不是比例。
如何更改色标的 Alpha,同时保持完整的可见性和图例中的实际比例?
示例代码:
library(ggplot2)
###Generate Mock Data ###
df<- data_frame(y=seq(1:100), x=seq(1:100), z=seq(1:100))
###Plot without Alpha ###
df %>% ggplot(aes(x=x, y=y, color=z)) +
geom_point()+
scale_color_viridis_c()
###Plot with Alpha showing alpha on legend with continuous scale ###
df %>% ggplot(aes(x=x, y=y, color=z)) +
geom_point()+
scale_color_viridis_c(alpha=0.01)
###Plot with Alpha showing alpha=1 on legend but scale changed to discrete###
df %>% ggplot(aes(x=x, y=y, color=z)) +
geom_point()+
scale_color_viridis_c(alpha=0.5)+
guides(color = guide_legend(override.aes = list(alpha = 1)))
【问题讨论】:
-
尝试将
alpha移动到geom_point(alpha = ...)中。