Я добавлял селектор переменных на график в R (следуя обычному подходу, который заключается в сокрытии ненужных следов от графика)
library(plotly)
dat <- mtcars
dat$cyl <- factor(dat$cyl)
dat$car <- rownames(mtcars)
dat %>%
plot_ly(x = ~car, y = ~mpg,
name='mpg', type='scatter', mode='markers') %>%
add_trace(y = ~hp, name = 'hp', type='scatter', mode='markers') %>%
add_trace(y = ~qsec, name = 'qsec', type='scatter', mode='markers') %>%
layout(
updatemenus = list(
list(
type = "list",
label = 'Category',
buttons = list(
list(method = "restyle",
args = list('visible', c(TRUE, FALSE, FALSE)),
label = "mpg"),
list(method = "restyle",
args = list('visible', c(FALSE, TRUE, FALSE)),
label = "hp"),
list(method = "restyle",
args = list('visible', c(FALSE, FALSE, TRUE)),
label = "qsec")
)
)
)
)
![enter image description here](https://i.stack.imgur.com/ckbg8.png)
Код выполняет свою работу, НО он отменяет стандартное использование группы / цветовой переменной в качестве селектора трасс, потому что мы уже настроили трассы.
Стандартное использование переменной цвет / группа будет быть примерно таким
plot_ly(group_by(dat,cyl), x = ~car, y = ~mpg, color = ~cyl, type='scatter', mode='markers')
ПРИМЕЧАНИЕ: я использую group_by()
, потому что group = ...
устарел.
![enter image description here](https://i.stack.imgur.com/97XSm.png)
Возможно добавить выпадающее меню в качестве селектора переменных и все еще иметь возможность использовать переменную цвета / группы для скрытия и отображения данных выбранной переменной?
Я пытался добавить color= ~cyl
, но, как вы можете себе представить, это не работает.
Заранее спасибо !!