plotly / plotly/plotly.R

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

オープン
#1,149 コメント 4 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、グラデーションスケールと NA 値を使って、報告された ggplot2 と ggplotly の再現を実行します。描画された色を比較し、ggplot2 から plotly への変換経路を追跡します。完了の条件は、ggplotly が設定された赤色の na.value を保持し、報告されたケースをカバーしていることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
r
領域
data-visualization
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。