我正在尝试创建一个散点图矩阵,在各个矩阵图中的几何项之间进行交互式选择。这在我处理geom_points(在ggpairs()内部)时有效。当用户在3个左下角的单个矩阵图中的任何一个中选择点时,他们可以看到在其他矩阵图中突出显示的点。以下是一个简单的例子:
library(GGally)
library(ggplot2)
library(plotly)
dat = mtcars[,1:3]
p <- ggpairs(dat)
ggplotly(p)
但是,就我而言,我的目标是使用geom_hex而不是geom_points。我希望开发一种方法,用户可以突出显示单个矩阵中的六边形,并查看其他单个矩阵中的所有六边形,其中包含至少一个构成原始六边形的观察结果。
我认为这可能是一个更复杂的步骤,因为六边形是将几个观察结果组合在一起的分级摘要。以下是我目前为实现这一目标所取得的进展:
my_fn <- function(data, mapping, ...){
p <- ggplot(data = data, mapping = mapping) + geom_hex(binwidth=3)
p
}
p <- ggpairs(dat, lower = list(continuous = my_fn))
ggplotly(p)
当我将鼠标悬停在单个六边形上时,我会收到有关其计数的交互式信息(我喜欢)。但是,当我尝试在一个矩阵中选择六边形时,我没有看到相应的六边形包含至少一个原始六边形的观察值。
我对Shiny和R比较熟悉。如果你知道我可以用来解决这个问题的方法,请分享!
===============会话信息===============
R version 3.3.2 (2016-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X Mavericks 10.9.5
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.10.0 shiny_0.14.2 hexbin_1.27.1 plotly_4.5.6.9000
[5] ggplot2_2.2.0.9000 GGally_1.3.0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.8 colourpicker_0.3 RColorBrewer_1.1-2 plyr_1.8.4
[5] prettyunits_1.0.2 base64enc_0.1-3 tools_3.3.2 progress_1.1.2
[9] digest_0.6.10 jsonlite_1.1 tibble_1.2 gtable_0.2.0
[13] viridisLite_0.1.3 lattice_0.20-34 DBI_0.5-1 crosstalk_0.3.1
[17] yaml_2.1.14 stringr_1.1.0 dplyr_0.5.0 httr_1.2.1
[21] htmlwidgets_0.8 grid_3.3.2 reshape_0.8.6 R6_2.2.0
[25] purrr_0.2.2 tidyr_0.6.0 reshape2_1.4.2 magrittr_1.5
[29] scales_0.4.1.9000 htmltools_0.3.5 assertthat_0.1 mime_0.5
[33] xtable_1.8-2 colorspace_1.3-2 httpuv_1.3.3 labeling_0.3
[37] stringi_1.1.2 miniUI_0.1.1 lazyeval_0.2.0 munsell_0.4.3