Невозможно получить доступ к переменной в Plotly при наведении - PullRequest
0 голосов
/ 24 ноября 2018

Я подготовил карту для презентации с ggplot().Из этой карты я хочу преобразовать ее в сюжетный объект, чтобы видеть дополнительную информацию при наведении на нее курсора.

library (ggplot2)
library (plotly)

long <- c(-39.98346, -39.99708, -39.97745, -39.90892,-39.73878, -39.73567, -39.76973, -39.95023)
lat <- c(-3.161511, -3.198613, -3.232549, -3.274145, -3.356805, -3.397217, -3.458218,-3.433217)
order <- c(11, 12, 13, 14, 11, 12, 13, 14)
hole <- c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)
piece <- c("1", "1", "1", "1" ,"1" ,"1", "1", "1")
group <- c("20.1" , "20.1" , "20.1" , "20.1" , "203.1", "203.1" ,"203.1", "203.1")
id <- c(20 , 20, 20  ,20 ,203 ,203 ,203, 203)
qty <- c(64.3 ,64.3 ,64.3 ,64.3,38.8, 38.8,38.8 ,38.8)
city <- c("city_A", "city_A", "city_A", "city_A", "city_B", "city_B", "city_B", "city_B" )
map <- data.frame (long,lat,order=as.integer(order),hole,piece,group, id,qty,city,stringsAsFactors = F)

gg_map <- ggplot(data = map)+
geom_polygon(aes(x = long, y = lat, group = group, fill = qty))
gg_map # successfully create the map

plotly_map <- ggplotly(gg_map, tooltip = c("qty", "city")) #conversion of a ggplot map to a plotly map
plotly_map # I cannot visualize city information when hovering

Я ожидал, что при наведении на plotly_map я смогу визуализировать и qty, и city, но он показывает только qty.Похоже, что при конвертации графически отсутствует связь с данными фрейма данных.

Как это исправить?

1 Ответ

0 голосов
/ 25 ноября 2018

Как сказано в ?ggplotly, аргумент tooltip равен

символьному вектору, определяющему, какие эстетические сопоставления отображать во всплывающей подсказке.

Итак, проблема в том, что city не является эстетическим в gg_map.Вот решение, которое использует city в качестве бесполезной эстетики:

gg_map <- ggplot(data = map)+
  geom_polygon(aes(x = long, y = lat, group = group, fill = qty, noReason = city))
plotly_map <- ggplotly(gg_map, tooltip = c("qty", "city"))
plotly_map

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...