Подсказка для линий с ggplot и ggplotly - PullRequest
0 голосов
/ 25 октября 2018

Следующий код рисует треугольник в ggplotly.Я хочу использовать метки (из моего фрейма данных) в качестве подсказок.Как я могу это сделать?

library(tibble)
library(dplyr)
library(ggplot2)
library(ggplotly)

data_points <- tibble(Node = c(1,2,3), X = c(1,2,1.5), Y = c(4,5,6))
data_segments <- tibble(From = c(1,2,3), To = c(2,3,1), label = c('Line 1: 800', 'Line 2: 1600', 'Line 3: 400'))
data <- data_segments %>% 
  left_join(data_points %>% rename(From = Node, X_from = X, Y_from = Y)) %>% 
  left_join(data_points %>% rename(To = Node, X_to = X, Y_to = Y))

p <- ggplot(data) + 
  geom_point(aes(x = X_from, y = Y_from)) + 
  geom_segment(aes(x = X_from, y = Y_from, xend = X_to, yend = Y_to, text = label))
ggplotly(p, tooltip = "text")

enter image description here

Вместо того, чтобы получать эту подсказку при наведении курсора на точку, я хочу, чтобы она была на линии.

Я нашел несколько связанных по пунктам предметов, таких как этот , но ни один из них не работает со строками.

В основном все они используют эстетический текст илиметка для визуализации эффекта.Проблема в том, что geom_segment и geom_line не принимают эту эстетику.Есть ли другой способ обойти эту проблему?

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

Редактировать: кажется, что есть некоторые варианты со следами, которые графически эквивалентны линии.Однако до сих пор я нашел результаты работы только со следами, где линии имеют много углов или изгибов (например, график плотности здесь ).С прямыми линиями всплывающие подсказки по-прежнему оказываются в точках.

...