ggplotly ignores na.value colour (e.g.: in scale_fill_gradientn and others) [bug]
未关闭
还没有人认领这个 Issue。
ggplotly
- 主要语言
- R
- 星标
- 2.7k
- 派生
- 641
- PR 合并指标
- 30 天内没有已合并 PR
描述
Code to replicate the bug:
library(ggplot2)
library(plotly)
library(viridis)
# If you want to draw arbitrary rectangles, use geom_tile() or geom_rect()
df <- data.frame(
x = rep(c(2, 5, 7, 9, 12), 2),
y = rep(c(1, 2), each = 5),
z = rep(c(1:4, NA), each = 2)
)
p <- ggplot(df, aes(x, y)) +
geom_tile(aes(fill = z)) +
scale_fill_gradientn(
colors = viridis(256),
na.value = "red")
p
ggplotly(p)
Output in ggplot2:

But this is how it looks in plotly:

This is the cause of https://github.com/talgalili/heatmaply/issues/122
I've used this in the latest cutting edge ggplot2 and plotly
> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=Hebrew_Israel.1255 LC_CTYPE=Hebrew_Israel.1255
[3] LC_MONETARY=Hebrew_Israel.1255 LC_NUMERIC=C
[5] LC_TIME=Hebrew_Israel.1255
attached base packages:
[1] stats graphics grDevices datasets utils methods base
other attached packages:
[1] viridis_0.4.0 viridisLite_0.2.0 plotly_4.7.1.9000 ggplot2_2.2.1.9000
[5] installr_0.20.0 stringr_1.2.0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.13 compiler_3.4.1 git2r_0.18.0
[4] plyr_1.8.4 bindr_0.1 tools_3.4.1
[7] digest_0.6.12 jsonlite_1.5 memoise_1.1.0
[10] tibble_1.3.4 gtable_0.2.0 pkgconfig_2.0.1
[13] rlang_0.1.4 shiny_1.0.3 crosstalk_1.0.0
[16] yaml_2.1.14 curl_2.7 bindrcpp_0.2
[19] gridExtra_2.2.1 withr_2.1.0.9000 httr_1.3.1
[22] dplyr_0.7.4.9000 knitr_1.16 htmlwidgets_0.9
[25] devtools_1.13.2 grid_3.4.1 tidyselect_0.2.3
[28] glue_1.2.0 data.table_1.10.4-3 R6_2.2.2
[31] purrr_0.2.4 tidyr_0.7.2 magrittr_1.5
[34] scales_0.5.0.9000 htmltools_0.3.6 assertthat_0.2.0
[37] xtable_1.8-2 mime_0.5 colorspace_1.3-2
[40] httpuv_1.3.5 labeling_0.3 stringi_1.1.5
[43] lazyeval_0.2.1 munsell_0.4.3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用渐变色标度和 NA 值运行报告中的 ggplot2 和 ggplotly 复现。比较渲染出的颜色,并追踪从 ggplot2 到 plotly 的转换路径;完成的标准是 ggplotly 保留配置的红色 na.value,并覆盖报告的案例。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- r
- 领域
- data-visualization
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100