如何更改 MapView 的主要数据
How to change a MapView's main data
我正在尝试使用 observeEvent()
将 Mapview 的 x
参数更改为新数据。我通常只使用 clearShapes()
然后 addPolygons()
,但需要 zcol
等参数。
我想做类似下面的事情:
server <- function(input, output) {
output$DisplayMap <- renderLeaflet(
mapview(first_data, zcol = coolCol, color = brewer.pal(12, "Set3") %>%
addControl(actionButton("Next", ">"), position = "topright")
)
observeEvent(input$Next, {
output$DisplayMap$x <- next_data # This doesn't work
})
}
我意识到有 2 个问题在起作用(更改变量的接口和这样做的方法),其中一个可能需要某种形式的 React
我认为不可能像这样修改输出(但实际上,使用 MRE 会更容易)。
你应该这样想:
server <- function(input, output) {
my_data <- reactiveVal(data.frame(a = 1, b = 2))
output$DisplayMap <- renderLeaflet(
mapview(my_data()[[input$Next]], zcol = coolCol, color = brewer.pal(12, "Set3") %>%
addControl(actionButton("Next", ">"), position = "topright")
)
}
假设 input$Next
是用户可以在 GUI 中选择的列名称。这只是为了向您展示一个想法。如果您仍然需要帮助,请发送 MRE,我可以编辑此答案。
我正在尝试使用 observeEvent()
将 Mapview 的 x
参数更改为新数据。我通常只使用 clearShapes()
然后 addPolygons()
,但需要 zcol
等参数。
我想做类似下面的事情:
server <- function(input, output) {
output$DisplayMap <- renderLeaflet(
mapview(first_data, zcol = coolCol, color = brewer.pal(12, "Set3") %>%
addControl(actionButton("Next", ">"), position = "topright")
)
observeEvent(input$Next, {
output$DisplayMap$x <- next_data # This doesn't work
})
}
我意识到有 2 个问题在起作用(更改变量的接口和这样做的方法),其中一个可能需要某种形式的 React
我认为不可能像这样修改输出(但实际上,使用 MRE 会更容易)。
你应该这样想:
server <- function(input, output) {
my_data <- reactiveVal(data.frame(a = 1, b = 2))
output$DisplayMap <- renderLeaflet(
mapview(my_data()[[input$Next]], zcol = coolCol, color = brewer.pal(12, "Set3") %>%
addControl(actionButton("Next", ">"), position = "topright")
)
}
假设 input$Next
是用户可以在 GUI 中选择的列名称。这只是为了向您展示一个想法。如果您仍然需要帮助,请发送 MRE,我可以编辑此答案。