R есть ли у ggplot2 опция интерактивности?

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

например, если бы у меня был фрейм данных с именем, высотой и весом студентов, я хотел бы построить высоту и вес на оси x и y соответственно. Затем, когда я переворачиваю отдельную точку на графике, появляется пузырь с именем студентов.

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

вот образец df и код участка / идентификации:

> dput(df1)
structure(list(id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), var1 = c(0.469521932071075, 
0.077109789242968, 0.076340542640537, 0.461061101639643, 0.347079795086756, 
0.425340321380645, 0.738443679409102, 0.00931701785884798, 0.267918228404596, 
0.722170797875151), var2 = c(0.265150599181652, 0.557858553016558, 
0.715832461370155, 0.186717337928712, 0.626156869810075, 0.1359783844091, 
0.67408229294233, 0.528320853365585, 0.241800826275721, 0.80992470192723
), names = c("jim", "nancy", "suzy", "mark", "alex", "jen", "luz", 
"jeff", "paula", "amir")), .Names = c("id", "var1", "var2", "names"
), row.names = c(NA, -10L), class = "data.frame")

plot(df1$var1, df1$var2);grid()
identify(df1$var1, df1$var2, labels = df1$names)

вот пример, после нажатия на несколько пунктов:

enter image description here

какие предложения?

1 ответов


на HTKidentify и HWidentify функции в пакете TeachingDemos позволяют создавать точечную диаграмму и иметь всплывающую информацию при наведении мыши на точку данных, информация исчезает при перемещении в новую точку. Первый требует Tk, а второй-только для windows и не использует ggplot2 (но оба являются чистым кодом R, поэтому вы можете найти способ изменить их для работы с ggplot2 или другими расширениями).