R ggplotly дублированная легенда - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь создать сюжет, на котором каждая точка обозначает событие. 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

...