studio qplot ggplot geom_line geom_bar r user-interface ggplot2 click shiny

r - qplot - ggplot2 pdf



obtener correcciones de clic correctas con el mapa ggplot en brillante (1)

Simplemente reemplace print(worldmap) con worldmap en su código original, obtendrá lo que desea. Shiny funciona perfectamente bien con ggplot2. La función print() parece generar una cifra cuyos valores x e y se restablecen en el rango (0, 1).

Tengo el inicio de una aplicación brillante con un mapa de ggplot del mundo. Me gustaría obtener las coordenadas del clic en la trama para que los usuarios puedan hacer cosas con el mapa, pero las coordenadas son muy extrañas (ya sea NULL o algo muy pequeño). Al hacer clic repetidamente solo parece cambiar una coordenada:

ui.R:

library(shiny) # Define UI for application shinyUI(pageWithSidebar( # Application title headerPanel("My App"), sidebarPanel( textOutput("clickcoord") ), # Show a plot of the generated distribution mainPanel( plotOutput("myworld", height="600px", clickId="plotclick") ) ))

servidor.R:

library(shiny) library(maps) library(mapdata) library(ggplot2) library(rworldmap) shinyServer(function(input, output) { output$myworld <- renderPlot({ world <- map_data("world") worldmap <- ggplot(aes(x = long, y = lat, group = group), data = world) + geom_path() print(worldmap) }) output$clickcoord <- renderPrint({ print(input$plotclick) }) })

Si uso simplemente el comando map() para generar un mapa mundial que no sea ggplot, obtengo lo que parecen buenos valores lat / long para las coordenadas de clic:

server.R (modificado):

library(shiny) library(maps) library(mapdata) shinyServer(function(input, output) { output$myworld <- renderPlot({ map("world2Hires") }) output$clickcoord <- renderPrint({ print(input$plotclick) }) })