`ggplotly()` function does not respect line width and does not show legend lines of `geom_linearange()`
オープン
まだ誰も着手していません。
- 主要言語
- R
- スター
- 2.7k
- フォーク
- 641
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Trying to apply ggplotly() to the following ggplot + geom_linerange() resulted in a faulted graph: the line width is not respected (or considered) and the legend does not show the lines for each key (what line of what color corresponds to each entry?)
``` r
library(tidyverse)
library(plotly)
df = tibble(
task = c("Job A", "Job B", "Job C", "Job A"),
start = c(0, 5, 10, 6),
end = c(4, 9, 15, 7),
resource=c ('Alex', 'Max', 'Max', 'Alex')
)
p <- ggplot(data = df,
aes(x = start,
y = task
)
) +
geom_linerange(aes(xmin = start,
xmax = end,
color = resource
),
size = 5.5,
alpha = 0.76
) +
labs(x = "Time (s)",
y = "Tasks",
color = "",
title = "Gantt plot (ggplot)")
print(p)
ggplot output:

but ggplotly:
ply <- ggplotly(p)
print(ply)
output:

Session info
sessionInfo()
#> R version 4.1.3 (2022-03-10)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 10 x64 (build 19043)
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] plotly_4.10.0 forcats_0.5.1 stringr_1.4.0 dplyr_1.0.9
#> [5] purrr_0.3.4 readr_2.1.2 tidyr_1.2.0 tibble_3.1.7
#> [9] ggplot2_3.3.6 tidyverse_1.3.1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、issue の再現可能な R 例を ggplotly() で実行し、ggplot の出力と比較します。geom_linerange() がどのように変換され、その size と resource の色マッピングがインタラクティブグラフにどのように渡されるかを追跡します。変換後のプロットが要求された線幅を尊重し、凡例に各リソースを表す線が表示されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- r
- 領域
- data-visualization
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100