当1个子图是一个聚合图时,我无法进行笔刷/链接以处理串扰并为2个子图作图

问题描述

我无法为自己的一生弄清楚为什么我不能为下面的两个图(p1,p2)进行刷涂。

我期望的是:如果单击左侧条形图中的特定菱形切割,则相应的切割应在散点图中突出显示

brushing / linking NOT working

以下可复制的示例

library(crosstalk);library(tidyverse);library(plotly)

d = ggplot2::diamonds %>% slice_sample(prop = 0.01)

m <- d %>% highlight_key(~cut)
#m = crosstalk::SharedData$new(d,key = ~cut)

p1 = m$data() %>% count(cut) %>% plot_ly() %>% add_bars(x = ~cut,y = ~n,color =~cut)
p2 = m %>% plot_ly() %>% add_markers(x = ~carat,y = ~price,color = ~cut)

subplot(p1,p2) %>% highlight('plotly_click') %>% hide_legend()

但是,如果两个图都是非聚合图,这确实起作用。

working

library(crosstalk);library(tidyverse);library(plotly)

d = ggplot2::diamonds %>% slice_sample(prop = 0.01)

m <- d %>% highlight_key(~cut)
#m = crosstalk::SharedData$new(d,key = ~cut)

p1 = m %>% plot_ly() %>% add_markers(x = ~color,color = ~cut)
p2 = m %>% plot_ly() %>% add_markers(x = ~carat,p2) %>% highlight('plotly_click') %>% hide_legend()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)