gpt4 book ai didi

R Shiny 且有计划地获取图例点击事件

转载 作者:行者123 更新时间:2023-12-01 12:20:15 24 4
gpt4 key购买 nike

我有一个 Shiny 的 R 页面,并根据单击饼图过滤数据。如果我可以通过单击图例条目触发相同的过滤事件,那就太好了,但我似乎找不到事件触发器,所以它只是过滤该图表而不传播到其他图表。图例点击事件是否可访问?

library(data.table)
library(plotly)
library(shiny)

dt = as.data.table(mtcars)


ui <- fluidPage(
plotlyOutput("pie1"),
plotlyOutput("pie2")
)


server <- function(input, output){

gearDT = reactive({
return(dt[,.N,by=gear])
})

cylDT = reactive({
return(dt[,.N,by=cyl])
})

output$pie1 <- renderPlotly({

plot_ly(gearDT(), labels = ~gear, values = ~N, type = "pie") %>%
layout(showlegend = TRUE)


})

output$pie2 <- renderPlotly({

plot_ly(cylDT(), labels = ~cyl, values = ~N, type = "pie") %>%
layout(showlegend = TRUE)


})
}

shinyApp(ui = ui, server = server)

最佳答案

对于 future 的读者

Plotly 现在已经创建了一个名为 plotly_relayout 的事件。此事件在布局更改时触发。单击图例是这些更改之一。

此事件中的一个变量称为hiddenlabels。此变量包含隐藏的图例轨迹的所有名称。

observe({
relayout <- event_data("plotly_relayout")
hidden_labels <- relayout$hiddenlabels
print(hidden_labels)
})

编辑

检查 event when clicking a name in the legend of a plotly's graph in R Shiny如果 plotly_relayout 不适合你。

关于R Shiny 且有计划地获取图例点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47405422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com