R在多个图之间以交互方式识别来自同一数据集的点

时间:2015-08-24 11:12:10

标签: r graphics ggplot2

我有一个R数据框和一些从它们创建的散点图和条形图。

df <- data.frame(var1 = c(2,3,8,2,5,6,2,7,4,4),var2 = runif(n = 10),var3 = runif(n=10,min = 10,max=50),var4 = c(rep("A",5),rep("B",5)))
plot(df$var1,df$var2)
plot(df$var2,df$var3)
barplot(df$var3,names.arg=df$var4)

enter image description here

如果我对第一个图上的某个点感兴趣,我想在第二个,第三个或多个其他图上确定这一点。我希望能够在可共享的rmarkdown文档中以交互方式(例如使用鼠标悬停悬停效果)进行此操作。

如何使用基本图形,ggplot甚至像shiny / rCharts之类的东西在R中做到这一点?任何示例/链接将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用identify函数在基础R中以交互方式定位散点图中的点。

例如,您可以使用

在第二个图中识别变量对
identify(df$var2,df$var3)

点击了兴趣点后,点击Esc键。与您单击的点对应的行号将显示在控制台和图形中。

在这种情况下,我点击了var2=0.5var3=30附近的点。结果显示这是数据集中的第2点。

enter image description here

> identify(df$var2,df$var3) # Hit Esc key once you have selected the point.
[1] 2 # <- this is the result: the index (row) number of the selected point
#> df[2,]
#  var1     var2     var3 var4
#2    3 0.481937 29.54026    A

有关详细信息,请参阅?identify