plotly / plotly/plotly.R

geom_GeomGeneArrow() and geom_GeomFitText() has yet to be implemented in plotly [shapviz]

未關閉
#2,149 4 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

主要語言
R
星號
2.7k
分支
641
PR 合併指標
30 天內沒有已合併 PR

描述

Recently I started working with the new shapviz package. In particular, the waterfall plot was working just fine for what I needed to visualise. Unfortunately, I was unable to use ggplotly to render the plots in plotly.

image

As it turns out, the waterfall plot is different from plotly's waterfall chart as it is built on the GeomGeneArrow geom from
from https://github.com/wilkox/gggenes.

Warning message in geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]):
“geom_GeomGeneArrow() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  [https://github.com/ropensci/plotly/issues](https://github.com/ropensci/plotly/issues)

In addition, geom_GeomFitText, which is needed for rendering text over plot elements is also unimplemented.

geom_GeomFitText() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  [https://github.com/ropensci/plotly/issues](https://github.com/ropensci/plotly/issues)

Reprex adapted from the default shapviz example below:

#library imports
install.packages("shapviz")
library(shapviz)
library(ggplot2)
library(xgboost)

set.seed(3653)

X <- diamonds[c("carat", "cut", "color", "clarity")]
dtrain <- xgb.DMatrix(data.matrix(X), label = diamonds$price)

fit <- xgb.train(
  params = list(learning_rate = 0.1, objective = "reg:squarederror"), 
  data = dtrain,
  nrounds = 65L
)

X_small <- X[sample(nrow(X), 2000L), ]

shp <- shapviz(fit, X_pred = data.matrix(X_small), X = X_small)
waterfall_plot <- sv_waterfall(shp, row_id = 1)

library(plotly)
ggplotly(waterfall_plot)

Expected Output should render similar to this (original ggplot):
image

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

首先透過 ggplotly(waterfall_plot) 執行提供的 R reprex,並檢查針對 GeomGeneArrow 和 GeomFitText 的 geom2trace.default 警告。將其行為與 gggenes/R/geom_gene_arrow.R 和 ggfittext geom 參考進行比較;完成的條件是 shapviz 瀑布圖能透過 ggplotly 渲染,且不出現任何未實作 geom 的警告。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
r
領域
data-visualization
Issue 類型
功能
難度
5/5
預估耗時
一週以上
活躍度
停滯
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。