Я пытаюсь создать сюжет, на котором каждая точка обозначает событие. Color, Size иface_grid используются для предоставления дополнительной информации, доступной визуально. График работает в ggplot2, но часто важно знать точные цифры, поэтому необходима интерактивная версия, которая позволяет наводить курсор на точку и получать информацию. Я попытался преобразовать сюжет в интерактивную версию с помощью функции ggplotly из plotly-package. Проблема в том, что легенда не только отображает различные состояния используемых атрибутов, она содержит все существующие комбинации. Кроме того, он не отображал информацию из geom_rect.
Я нашел похожие / похожие вопросы, но они использовали функцию plot_ly, а не ggploty или не дали ответа.
Далее, та же проблема проиллюстрирована с набором данных mtcars:
library(plotly)
g = ggplot(mtcars,aes(x=mpg,y=disp,color = as.factor(cyl),size =as.factor(gear))) +
geom_point() +
geom_text(label = c(rep("A",nrow(mtcars)-5),rep("B",5)),color = "black",size=4) +
geom_rect(data=data.frame(name="zone",Start=20,End = 30,ymin = -Inf,ymax = Inf),aes(xmin=Start, xmax=End, ymin=ymin, ymax=ymax,fill=name),inherit.aes = FALSE,alpha=0.3)+
facet_grid(vs~am)
g
Вот результат и как он должен выглядеть: График ggplot
Теперь с помощью ggplotly
ggplotly(g)
Это результат: График ggploty
(1) Легенда теперь является комбинацией различных атрибутов, используемых для цвета и размера
(2) geom_rect присутствует в легенде, но не отображается на графике
Кто-нибудь знает, как получить такой же график в ggplotly, как в ggplot2? Я благодарен за каждый намек. Спасибо
Dave