Я исследую использование интерактивных plotly
графиков, которые позволяют выбирать категориальные значения, которые соответственно изменяют график.Я планирую использовать следующую структуру кода, которая использовалась в примере с базой данных 'iris' в R
.
Однако этот код, по-видимому, требует жесткого кодирования количества категориальных переменных в раскрывающемся списке (в этом примере есть 3 вида, из которых 3 списка были созданы для отражения этого).
Таким образом, мой вопрос заключается в том, что если база данных со временем изменилась с увеличением количества категориальных переменных, которые необходимо было бы включить в раскрывающийся список, существует ли способ автоматического обновления выпадающего списка?значения в списке без необходимости их жесткого кодирования?Спасибо за ваше время.
library(plotly)
p <- iris %>%
plot_ly(
type = 'scatter',
x = ~Sepal.Length,
y = ~Petal.Length,
text = ~Species,
hoverinfo = 'text',
mode = 'markers',
transforms = list(
list(
type = 'filter',
target = ~Species,
operation = '=',
value = unique(iris$Species)[1]
)
)) %>% layout(
updatemenus = list(
list(
type = 'dropdown',
active = 0,
buttons = list(
**list**(method = "restyle",
args = list("transforms[0].value", unique(iris$Species)[1]),
label = unique(iris$Species)[1]),
**list**(method = "restyle",
args = list("transforms[0].value", unique(iris$Species)[2]),
label = unique(iris$Species)[2]),
**list**(method = "restyle",
args = list("transforms[0].value", unique(iris$Species)[3]),
label = unique(iris$Species)[3])
)
)
)
)
p