ggplotly 中使用 geom_hex() 散点图进行交互式选择

Interactive selection in ggplotly with geom_hex() scatterplot

提问人: 提问时间:1/1/2017 更新时间:9/12/2023 访问量:1123

问:

我正在尝试创建一个散点图矩阵,在单个矩阵图中的几何项目之间进行交互式选择。这在我处理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 
r 矩阵 ggplot2 点图

评论


答: 暂无答案