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)
})
})