Предположим, что следующие два фрейма данных я хочу построить как geom_line
с ggplot2
:
require(ggplot2)
require(plotly)
mydf1 <- data.frame(X1 = 1:24, Y1 = sample(5:15, 24, replace = T))
mydf2 <- data.frame(X2 = seq(2,24,2), Y2 = sample(5:15,12, replace = T))
myplot <- ggplot() + geom_line(data = mydf1, aes(x = X1, y = Y1), color = 'black') +
geom_line(data = mydf2, aes(x = X2, y = Y2), color = 'red')
print(ggplotly(myplot))
Теперь я хочу добавить два разных всплывающих текста к соответствующим строкам. Я знаю, как настроить и определить, что показывает информационное поле ggplotly
при использовании одного объекта. Как я могу определить это для двух объектов, которые зависят от разных фреймов данных и которые должны иметь разный текст, отображаемый в информационном окне? Следовательно, я хочу определить, что именно показывает текст при наведении. Я пробовал что-то вроде:
myplot <- ggplot() + geom_line(data = mydf1, aes(x = X1, y = Y1, group = 1, text =
paste0('Var1: ' = mydf1$X1, "<br>", "Var2: ", mydf1$Y1)), color = 'black') +
geom_line(data = mydf2, aes(x = X2, y = Y2), group = 1, text =
paste0('Var3: ' = mydf2$X2, "<br>", "Var4: ", mydf2$Y2), color = 'red')
print(ggplotly(myplot, tooltip = 'text'))
Однако я просто получаю предупреждение Ignoring unknown aesthetics: text
. Как определить два всплывающих текста для двух строк? В конечном итоге мне нужно добавить 3 разных объекта geom_line
, но решение этого вопроса для двух объектов также должно решить проблему для трех объектов.