我正在尝试创建一个r闪亮的传单应用程序,可以根据用户输入动态地为具有pal光谱的多边形着色。注意我不只是着色多边形,我还想使用颜色范围来说明变量中的一系列值。 (因此需要pal谱)
下面的代码运行正常 - 但是pal和fillColor输入在这里不是动态的。
output$mymap <- renderLeaflet({
map <- readShapeSpatial(paste(input$state,"Zip.shp",sep=""))
pal <- colorNumeric(
palette = "YlGnBu",
domain = map$college)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data=map,
fillColor=~pal(college),
fillOpacity = 0.7,
weight = 1,
smoothFactor = 0.2)
})}
但下面的版本失败了。它创建了“无法将此S4类强制转换为向量”的错误。为什么会出现此错误?如何解决此问题?
失败的代码:
output$mymap <- renderLeaflet({
map <- readShapeSpatial(paste(input$state,"Zip.shp",sep=""))
pal <- colorNumeric(
palette = "YlGnBu",
domain = paste(map,"input$fill",sep=""))
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data=map,
fillColor=~pal(input$fill),
fillOpacity = 0.7,
weight = 1,
smoothFactor = 0.2)
为什么我不能使用输入$ fill的动态光泽输入来设置多边形的pal光谱和fillColor?任何可能的解决方法?
感谢您的帮助!