【发布时间】:2019-11-23 10:14:26
【问题描述】:
我一直在使用ggplot2 制作热图,现在我正在尝试将它们转换为ggplotly 以使用它们构建shiny 应用程序。除了 geom_tile 中的 alpha 美学的翻译(如果我 use geom_raster 也是同样的问题)之外,一切都(或多或少)正常。经过一整天的谷歌搜索和阅读相关答案,我还没有找到任何解决方案。
我尝试了不同的数据和规格,但到目前为止完全没有运气。这个问题似乎是特定于热图的,因为如果我使用 geom_point,alpha 转换得很好。问题是,我真的需要热图来做我正在做的事情。
我制作了一个可重现的示例来说明问题。
library(ggplot2)
library(plotly)
library(dplyr)
sample<- data.frame(a = 1:10,
b = 11:20,
c = 31:40,
d = rep(c("a", "b"), 5))
plot <- sample%>%
ggplot(aes(x=a, y=b, fill = c, alpha = d))+
geom_raster()
plot
ggplotly(plot)
您会看到输出完全不同。有什么想法或有人遇到过类似的问题吗?
ggplot:
ggplotly:
【问题讨论】:
-
这是我得到的:不建议将 alpha 用于离散变量。您能否准确解释问题所在?我个人无法说出问题所在,因为不清楚您希望看到什么。 但如果你运行它,你会看到输出完全不同。没有什么可比较的。
-
对不起,我的错,我忘记在示例中打印 plotly 输出。我刚刚编辑。如果你现在运行它,你会发现 ggplot 和 plotly 输出完全不同(后者似乎没有得到 alpha)。通过使用 geom_point() 绘制热图,我以某种方式找到了解决方法,但这并不理想......
标签: r ggplot2 heatmap r-plotly ggplotly