密密麻麻:是否可以将事件数据作为列表对象?

问题描述 投票:0回答:1

问题:是否可以使用图谋和闪亮的方法一次提取所有CurveNumber,pointNumber,x和y的列表?

示例(请参见代码):通过单击每个栏,p返回以下。是否可以在不首先单击图的情况下获得x值,pointNumbers等的列表?即c(4,6,8)的x对象,pointNumber对象c(0,1,2)

  curveNumber pointNumber x    y
1           0           2 8 15.1
  curveNumber pointNumber x        y
1           0           1 6 19.74286

样本代码

ui <- fluidPage(
    plotlyOutput("plot")
)

server <- function(input, output) {

    output$plot <- renderPlotly({
      mtcars %>%
            group_by(cyl) %>%
            summarise(m = mean(mpg)) %>%
            plot_ly(., x = ~cyl,
              y = ~m, source = "test_plot") %>%
            add_bars()
    })

    observe({
        p <- event_data("plotly_click", source = "test_plot")
        print(p)
    })

}

# Run the application
shinyApp(ui = ui, server = server)

r shiny plotly data-visualization shiny-reactivity
1个回答
0
投票

不确定您想要什么。您可以通过x获得yplotly_build,请参见下文。 pointNumber只是0,...,length(x)-1

p <- mtcars %>%
  group_by(cyl) %>%
  summarise(m = mean(mpg)) %>%
  plot_ly(., x = ~cyl,
          y = ~m, source = "test_plot") %>%
  add_bars() 

pp <- plotly_build(p)
curves <- pp$x$data
curveNumber <- 0
dat <- curves[[curveNumber+1]]
as.vector(dat$x)
# [1] 4 6 8
as.vector(dat$y)
# [1] 26.66364 19.74286 15.10000
© www.soinside.com 2019 - 2024. All rights reserved.