ggplotly ignores na.value colour (e.g.: in scale_fill_gradientn and others) [bug]
オープン
まだ誰も着手していません。
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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、グラデーションスケールと NA 値を使って、報告された ggplot2 と ggplotly の再現を実行します。描画された色を比較し、ggplot2 から plotly への変換経路を追跡します。完了の条件は、ggplotly が設定された赤色の na.value を保持し、報告されたケースをカバーしていることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- r
- 領域
- data-visualization
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100