R确实ggplot2有交互选项吗?

时间:2012-12-07 17:57:14

标签: r ggplot2 interactive

我有一些数据需要放在散点图中,当我翻转图表上的点时,我想要一个气泡弹出窗口并提供一些识别信息。

例如,如果我有一个学生姓名,身高和体重的数据框,我想分别在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 个答案:

答案 0 :(得分:6)

TeachingDemos软件包中的HTKidentifyHWidentify函数允许创建散点图并在将鼠标悬停在数据点上时弹出信息,当您移动时信息会消失到了一个新的点。第一个需要Tk而第二个只用于windows而且都不使用ggplot2(但两者都是纯R代码,所以你可以找到一种方法来修改它们以使用ggplot2或其他扩展)。