【发布时间】:2022-01-15 23:03:14
【问题描述】:
我可以单击并从图中提取坐标。这是link。有人可以告诉我如何提取这些坐标并将其存储在 tibble 中吗?
【问题讨论】:
我可以单击并从图中提取坐标。这是link。有人可以告诉我如何提取这些坐标并将其存储在 tibble 中吗?
【问题讨论】:
一种方法可以是这样的:
reactiveVal 来存储tibble。library(shiny)
library(tidyverse)
ui <- basicPage(
plotOutput("plot1", click = "plot_click",width = '1000px', height = "1000px"),
verbatimTextOutput("info"),
tableOutput("tibbl"),
actionButton('save_to_global', "Save Table")
)
server <- function(input, output) {
df <- reactiveVal(NULL)
output$plot1 <- renderPlot({
plot(mtcars$wt, mtcars$mpg)
})
output$info <- renderText({
paste0("x=", input$plot_click$x, "\ny=", input$plot_click$y)
})
#create the table or update the values.
observeEvent(c(input$plot_click$x, input$plot_click$y), {
if (is.null(df())) {
df(tibble(x = input$plot_click$x, y = input$plot_click$y))
} else {
df(df() %>%
add_row(x = input$plot_click$x, y = input$plot_click$y))
}
})
output$tibbl <- renderTable({
df()
})
observeEvent(input$save_to_global, {
assign('df_coordinates', df(), envir = .GlobalEnv)
})
}
shinyApp(ui, server)
【讨论】:
plotOutput 函数中的高度和宽度参数进行控制。