plotlyで作成したグラフは凡例をクリックすると、データの表示・非表示を変更できます。ではデフォルトで一部の凡例を非表示にする方法はあるでしょうか。
調べたところ、該当するデータ部分のvisibility
属性としてlegendonly
を指定すれば良いようです1。
ggplot2で作成したグラフをggplotly
関数でplotly化した場合も、visibility
を変更できます。まずplotly_build
関数を適用して生成されるリストを編集すれば良いようです2。
StackOverflowの例をパイプで書き直すと以下のようになります。データ構造も見て頑張れば表示したい系列をうまく選択できる関数を作れそうですね。
library(ggplot2)
library(purrr)
library(plotly, warn.conflicts = FALSE)
gg <- mtcars %>%
mutate(am = ifelse(am == 1, "automatic", "manual")) %>%
ggplot() +
aes(wt, mpg, color = am) +
geom_point()
gg %>%
ggplotly() %>%
plotly_build() %>%
{
.$x$data[[2L]]$visible <- "legendonly"
.
}