plotly / plotly/plotly.R

ggplot2 point fill doesn't translate correctly

未关闭
#1,234 8 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug ggplotly
主要语言
R
星标
2.7k
派生
641
PR 合并指标
30 天内没有已合并 PR

描述

Summary

aes(color = z) works as expected.

aes(fill = z) does not, and it produces a warning.

Expected behavior

aes(color = z) works as expected.

library(ggplot2)
library(plotly)

set.seed(42)
d <- data.frame(
  x = rnorm(1000),
  y = rnorm(1000),
  z = rnorm(1000)
)

p <- ggplot(d, aes(x, y, color = z)) +
  geom_point(size = 3)

ggplotly(p)

image

Observed behavior

On the other hand, aes(fill = z) does not work as expected.

There are two issues:

  • All of the points are the same color
  • There is a warning message suggesting there's a bug somewhere
p <- ggplot(d, aes(x, y, fill = z)) +
  geom_point(shape = 21, size = 3)

ggplotly(p)
Warning message:
In L$marker$color[idx] <- aes2plotly(data, params, "fill")[idx] :
  number of items to replace is not a multiple of replacement length

image

R version 3.4.4 (2018-03-15)
Platform: x86_64-apple-darwin17.4.0 (64-bit)
Running under: macOS High Sierra 10.13.3

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /usr/local/Cellar/openblas/0.2.20_1/lib/libopenblasp-r0.2.20.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] plotly_4.7.1 ggplot2_2.2.1.9000 devtools_1.13.5 colorout_1.2-0

loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 pillar_1.2.1 compiler_3.4.4 plyr_1.8.4 bindr_0.1.1
[6] tools_3.4.4 digest_0.6.15 jsonlite_1.5 memoise_1.1.0 tibble_1.4.2
[11] gtable_0.2.0 viridisLite_0.3.0 pkgconfig_2.0.1 rlang_0.2.0.9001 rstudioapi_0.7
[16] shiny_1.0.5 crosstalk_1.0.0 yaml_2.1.18 bindrcpp_0.2.2 withr_2.1.2
[21] dplyr_0.7.4 httr_1.3.1 htmlwidgets_1.0 grid_3.4.4 glue_1.2.0
[26] data.table_1.10.4-3 R6_2.2.2 purrr_0.2.4 tidyr_0.8.0 magrittr_1.5
[31] scales_0.5.0.9000 htmltools_0.3.6 assertthat_0.2.0 xtable_1.8-2 mime_0.5
[36] colorspace_1.3-2 httpuv_1.3.6.2 labeling_0.3 lazyeval_0.2.1 munsell_0.4.3

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先使用 ggplotly 运行提供的 R 重现,并比较正常工作的颜色映射与失败的 fill 映射。跟踪与替换标记颜色警告相关的 fill 转换;完成标准是 shape-21 点从 z 获得不同的填充,且不出现该警告。

由索引模型根据 Issue 内容生成。

评估

技术栈
r
领域
data-visualization
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。