enter image description here我正在尝试做一个闪亮的应用程序,显示周围的贝灵汉,华盛顿州的公共果树的位置。当用户点击一棵树的位置时,我希望他们能够看到给定树的所有属性,例如状态(已确认/未确认)和经纬度坐标。然而,当我创建一个交互式Map时,我只能看到我用来对点进行颜色编码的属性,在本例中是物种。物种是由tmap图例明显,我希望能够看到状态(确认/未确认)和纬度/经度坐标,当我点击一个点。
这是我使用rshiny创建一个简单的交互式Map应用程序的代码。我把必要的包裹装好了。
library(dplyr)
library(shiny)
library(leaflet)
library(tmap)
library(sf)
我创建了数据框。
dat <- data.frame(lat = c(48.7323,48.7308,
48.7301,48.7276,
48.7246,48.7323,
48.7211),
long = c(-122.4928,-122.4940,
-122.4942,-122.4939,
-122.4958,-122.4975,
-122.4946),
species = c("Apple", "Apple",
"Pear", "Plum",
"Fig", "Plum",
"Pear"),
status = c("Confirmed", "Unconfirmed", "Confirmed", "Confirmed", "Confimed", "Unconfirmed", "Confirmed"))
# created ui and server components
ui <- fluidPage( mainPanel(
tmapOutput(outputId = "tmapMap"),
)
)
server <- function(input, output, session) {
output$tmapMap <- renderTmap({
# converted to spatial points df
dat2plot <- st_as_sf(dat2plot, coords = c("long","lat"), crs=st_crs("EPSG:4326"))
# and plotted map
map1 <- tm_shape(dat2plot) +
tm_dots(col= "species", alpha=0.8,size = 0.1) +
tm_legend(show = TRUE) +
tm_view(set.zoom.limits = c(14,16))
map1
})
}
shinyApp(ui = ui, server = server)
所附图像是返回的内容。
1条答案
按热度按时间0md85ypi1#
这似乎是一个bug,因为只有通过
col
定义单一颜色时才有效。如果按如下所示调整相应的线,您将至少看到所有属性,但颜色编码不会显示: