用 Plotly 和 Webgl 填充 geom_rect 的颜色

Fill color of geom_rect with Plotly and Webgl

我正在尝试使用 ggplot2geom_rect() 在 R 中创建一个带有矩形的绘图,并使用 ggplotly 转换为 plotly。此外,由于我的数据大小,我将从 plotly 的 webgl 版本中受益。问题是当我使用函数 toWebGL() 转换绘图时,矩形的填充颜色消失了。下面的代码说明了这一点:

library(plotly)
library(ggplot2)
data <- data.frame(x_start = c(0, 2, 4, 6),
               x_end = c(1, 3, 5, 7),
               y_start = c(0, 0, 2, 2),
               y_end = c(1, 1, 3, 3),
               info = c("x", "y", "x", "y"))

p <- ggplot(data ,aes(xmin=x_start, xmax=x_end, ymin=y_start, ymax=y_end, fill=info)) + geom_rect()
p_ply <- ggplotly(p)
p_ply_gl <- toWebGL(p_ply)
p_ply
p_ply_gl

p_ply 正确显示情节,但 p_ply_gl 不正确。

p_ply 输出:

p_ply_gl 输出:

此外,如果我在 aes 中添加 color 参数,webgl 版本会正确显示它(边框),但不会填充它。

更改 p 为:

p <- ggplot(data ,aes(xmin=x_start, xmax=x_end, ymin=y_start, ymax=y_end, fill=info, color=info)) + geom_rect()

生成 p_ply_gl 输出:

首先我检查它是否符合 ggplot 函数和 aes 的顺序,将它移到 geom_rect.

内部

之后,我尝试获取 plotly 的最新版本:

install.packages("plotly", type = "source")

但是也没用。

我也试过弄乱 plotlystyle 函数,比如:

p_ply <- style(p_ply, fillcolor = "green")

但是没有成功。

我错过了什么?

这是一个错误,已在 dev 分支上得到纠正,可以通过以下方式安装: devtools::install_github('ropensci/plotly').