根据缩放比例在交互式绘图上重新缩放y轴

时间:2018-08-19 13:48:59

标签: r ggplot2 shiny zoom ggplotly

我在rshiny上有一个交互式图,我希望轴可以根据用户缩放的位置动态缩放。我想我可以使用scale_y_continuous来为ylim使用动态元素,但是接下来我需要知道用户当前帧(已缩放的位置)的y上下值。有没有办法用ggplot / rshiny来实现这一目标?

require(shiny)
library(dplyr)
library(ggplot2)

ui <- fluidPage(
  titlePanel(title=h4("example", align="center")),
  mainPanel(plotlyOutput("plot"))
  )

##server
server <- function(input,output){
  dat<-reactive({
    num<-c(1,2,3,4,5,6,7,8,9)
    let<-c("A","B","C","D","E","F","G","H","I")
    df<-data.frame(num,let)
    df
  })

  output$plot<-renderPlotly({
    gg <- ggplot(dat(),aes(x=let,y=num))+geom_point(aes(colour='red'))
    gg2 <- ggplotly(gg) %>% layout(dragmode="select")
    gg2
  })
}

shinyApp(ui = ui, server = server)

1 个答案:

答案 0 :(得分:1)

尝试一下。它不使用密谋,而是相同的基本思想。本质上,它将过滤数据到笔刷。双击将完全恢复。

printf

reprex package(v0.2.0)于2018-08-19创建。