Я пытаюсь использовать plotly на существующем графике ggplot2, чтобы позволить мне интерактивно отфильтровывать результаты из определенной группы. Однако я не могу обновить ось, чтобы удалить уровни, которые больше не нужны.
library(ggplot2)
library(plotly)
data(iris)
mtcars$car_name <- row.names(mtcars)
p <- ggplot(mtcars, aes(x = car_name, y = disp, color = as.factor(cyl))) +
geom_point()+
coord_flip()
ggplotly(p)
Это создает график с уровнями цилиндров в качестве факторов, и когда я нажимаю на уровень, он удаляет соответствующие точки из графиков (что я и хотел), но не удаляет автомобили, которые больше не содержат никаких данных. , Например, если я нажимаю «8», он удаляет все с 8 цилиндрами, но Merc 450SE по-прежнему отображается на оси Y.
По сути, я бы хотел, чтобы график "обновлялся" и удалял все неиспользуемые уровни с оси - есть ли простой способ добиться этого?