plotly / plotly/plotly.R

ggplotly ignores na.value colour (e.g.: in scale_fill_gradientn and others) [bug]

未关闭
#1,149 4 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 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:

image

But this is how it looks in plotly:

image

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      

贡献指南

打开贡献指南

从这里开始

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

调研方向

首先使用渐变色标度和 NA 值运行报告中的 ggplot2 和 ggplotly 复现。比较渲染出的颜色,并追踪从 ggplot2 到 plotly 的转换路径;完成的标准是 ggplotly 保留配置的红色 na.value,并覆盖报告的案例。

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

评估

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

把新 issue 发到你的邮箱

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