在下面的代码中,您会发现两行完全相同:
map("world", fill = TRUE, col = "gray36", bg = "white", xlim = input$lon_slider, ylim = input$lat_slider)
我在应用程序中包含了两个情节。使用此命令两次,一次仅一次。现在,如果将经度范围限制为-180到0,您将看到一个仍包含整个南极的图。
我在一个单独的脚本(没有光泽)中玩过这个游戏,我注意到它需要在更新地图时执行dev.off()或两次执行绘图功能。我想知道这种行为是从哪里来的,是否有更好的解决方案来解决我的问题,然后重新执行命令。
library(shiny)
library(maps)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("lon_slider",
label = "Longitude",
min = -180,
max = 180,
value = c(-180, 180)),
sliderInput("lat_slider",
label = "Latitude",
min = -90,
max = 90,
value = c(-90, 90))),
mainPanel(plotOutput("map_plot"),
plotOutput("map_plot2"))
)
)
server <- function(input, output) {
# Creating map plot
output$map_plot <- renderPlot({
req(input$lon_slider)
req(input$lat_slider)
map("world", fill = TRUE, col = "gray36", bg = "white", xlim = input$lon_slider, ylim = input$lat_slider)
title(main = "Zoom by selecting a region on this plot.")
})
# Creating map plot
output$map_plot2 <- renderPlot({
req(input$lon_slider)
req(input$lat_slider)
map("world", fill = TRUE, col = "gray36", bg = "white", xlim = input$lon_slider, ylim = input$lat_slider)
map("world", fill = TRUE, col = "gray36", bg = "white", xlim = input$lon_slider, ylim = input$lat_slider)
title(main = "Zoom by selecting a region on this plot.")
})
}
shinyApp(ui, server)
我们非常感谢您的帮助。