用Plotly和Webgl填充geom_rect的颜色

时间:2018-07-18 01:29:30

标签: r ggplot2 plotly ggplotly

我正在尝试使用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 result

p_ply_gl输出: p_ply_gy result

此外,如果我在color中添加了aes参数,则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输出: p_ply_gl with border

首先,我检查它是否按ggplot函数和aes的顺序排列,然后将其移至geom_rect内部。

之后,我尝试使用以下方法获取plotly的最新版本:

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

但也不起作用。

我还尝试弄乱style的{​​{1}}函数,例如:

plotly

但没有成功。

我想念什么?

1 个答案:

答案 0 :(得分:0)

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