r - 使用身份标度时为 alpha 添加图例

标签 r ggplot2

我正在构建一个有点复杂的图,并想手动指定每个点的 alpha。我可以用 scale_alpha_identity 做到这一点,到目前为止一切顺利。但现在我想为我的 alpha 比例添加一个图例。添加指南到 scale_alpha_identity 似乎不起作用 - 我只是收到一个错误,即使我尝试按照文档建议添加中断和标签:http://ggplot2.tidyverse.org/reference/scale_identity.html .

最小示例:这会生成我想要的情节,但没有图例。

ggplot(data = iris) + 
  geom_point(aes(x = Sepal.Length, y = Sepal.Width, 
                 alpha = Petal.Length / max(Petal.Length))) + 
  scale_alpha_identity()

根据文档,我认为这行得通,但行不通:

ggplot(data = iris) + 
  geom_point(aes(x = Sepal.Length, y = Sepal.Width, 
                 alpha = Petal.Length / max(Petal.Length))) + 
  scale_alpha_identity(breaks = c(0, 1), labels = c(0, 1), guide = 'legend')

我还尝试了许多其他变体:将 'colorbar''legend' 直接传递给 guide 参数,带和不带中断和标签,传递 guide_legendguide_colorbar 而不是字符串 - 运气不好,只是不同的错误消息。按照 Is there a way to add a legend for ggplot's alpha? 中的建议添加假秤对我不起作用,因为它覆盖了我的身份等级。

最佳答案

如果您在 scale_alpha_identity 中设置了 limits,您可以通过 guides 添加图例。

ggplot(data = iris) + 
    geom_point(aes(x = Sepal.Length, y = Sepal.Width, 
                   alpha = Petal.Length / max(Petal.Length))) + 
    scale_alpha_identity(limits = c(.2, 1)) +
    guides(alpha = guide_legend() )

关于r - 使用身份标度时为 alpha 添加图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46222637/

相关文章:

r - 在ggplot2中创建箭头匹配大小(或lwd)

r - data.table中以数据驱动的图名称

r - ggplot散点图中的图例问题

r - 在 R ggplot2 中,包括 stat_ecdf() 端点 (0,0) 和 (1,1)

r - 为什么这段代码在 ggplot 中静态地获取 y 轴百分比不正确?

r - git 不适用于 macOS Catalina 中的 R/RStudio

r - 在 R 中转换为字符时填充数字

r - `renv`有可能是 "bypassed"或者暂时关闭吗?

r - 按年和月聚合 POSIX 变量

r - 禁用错误时存储回溯