ggplot2 point fill doesn't translate correctly
还没有人认领这个 Issue。
- 主要语言
- 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)

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

R version 3.4.4 (2018-03-15) Platform: x86_64-apple-darwin17.4.0 (64-bit) Running under: macOS High Sierra 10.13.3Matrix 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.dyliblocale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8attached base packages:
[1] stats graphics grDevices utils datasets methods baseother attached packages:
[1] plotly_4.7.1 ggplot2_2.2.1.9000 devtools_1.13.5 colorout_1.2-0loaded 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
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用 ggplotly 运行提供的 R 重现,并比较正常工作的颜色映射与失败的 fill 映射。跟踪与替换标记颜色警告相关的 fill 转换;完成标准是 shape-21 点从 z 获得不同的填充,且不出现该警告。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- r
- 领域
- data-visualization
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100