R 基于用户输入的多边形颜色映射
我想根据用户输入对多边形进行颜色映射。我使用的列有分类变量,所以我使用的是colorFactor函数,我已经测试过它是否正常工作。问题在于,当我加载闪亮的应用程序时,observe函数会立即终止,并在传单中输出“addPolygons中的错误:未使用的参数(fillcolor=~pal(AreaTyp))。我的问题是如何使用observe函数正确地包含反应性。这是我的密码:R 基于用户输入的多边形颜色映射,r,shiny,leaflet,R,Shiny,Leaflet,我想根据用户输入对多边形进行颜色映射。我使用的列有分类变量,所以我使用的是colorFactor函数,我已经测试过它是否正常工作。问题在于,当我加载闪亮的应用程序时,observe函数会立即终止,并在传单中输出“addPolygons中的错误:未使用的参数(fillcolor=~pal(AreaTyp))。我的问题是如何使用observe函数正确地包含反应性。这是我的密码: #INTERACTIVE MAPPING #colorfunction pal<-colorFactor(r
#INTERACTIVE MAPPING
#colorfunction
pal<-colorFactor(rainbow(7),mp$AreaTyp)
#set data based on user input
fdata<-reactive({
data<-mp
if(input$area!="All"){
data<-data[data$AreaType==input$area,]
}
data
})
output$leaf<-renderLeaflet({
leaflet(fdata()) %>%
#Initializing the map
setView(lng=36.092245, lat=-00.292115,zoom=15)%>%
#Base map
#Add default OpenStreetMap map tiles
addTiles(group = "default")%>%
#addProviderTiles("Esri.NatGeoWorldMap",group = "default")%>%
#addProviderTiles("CartoDB.Positron",group = "custom")%>%
#Overlay map
addPolygons(
data = fdata(),
fillColor = "blue",
weight = 1, smoothFactor = 0.5,
opacity = 1.0, fillOpacity = 1.0,
group = "basepoly",
highlightOptions = highlightOptions(
weight = 2,
color = "red",
fillOpacity = 0.7,
bringToFront = TRUE
),label =~LIA
)
})
observe({
leafletProxy("leaf",data = fdata()) %>%
clearShapes() %>%
addPolygons(
weight = 1, smoothFactor = 0.5,
opacity = 1.0, fillOpacity = 1.0,
data=fdata(),
fillcolor = ~pal(AreaTyp),
label =~LIA
)
})
#交互式映射
#色函数
pal%
#叠加图
添加多边形(
数据=fdata(),
fillColor=“蓝色”,
权重=1,平滑因子=0.5,
不透明度=1.0,填充不透明度=1.0,
group=“basepoly”,
highlightOptions=highlightOptions(
重量=2,
color=“红色”,
fillOpacity=0.7,
bringToFront=真
),label=~LIA
)
})
观察({
传单代理(“叶”,数据=fdata())%>%
clearShapes()%>%
添加多边形(
权重=1,平滑因子=0.5,
不透明度=1.0,填充不透明度=1.0,
数据=fdata(),
fillcolor=~pal(区域类型),
label=~LIA
)
})
将fillcolor=~pal(区域类型)
更改为fillcolor=~pal(区域类型)
我们来分析一下你的错误
“addPolygons中出错:传单中未使用的参数(fillcolor=~pal(AreaTyp))”
第一:
“添加多边形时出错:
这意味着addPolygons无法运行,而不是观察者失败
第二
“未使用的参数”
这意味着您添加了addpolygons无法使用的参数
第三
(fillcolor=~pal(AreaTyp))在传单中
这正好告诉你哪个参数是错误的。请分享一个可复制的例子:我问了一个可复制的例子。检查:错误不再出现在编辑之后,但没有基于用户输入的反应性,这是我想要的。当用户选择input$area时,基于不同类别v的多边形上有一个颜色映射变量(混合、计划外、计划内)。正如urwacfc指出的,这是一个非常有限的示例,不可复制。因此,我无法运行它来理解它为什么不起作用。但是,我要说的是,这里的问题是,反应函数中的数据值实际上没有改变。您能验证输入$区域是否确实使o无效并改变了ofdata的输出?我已经问了一个可复制的。请查看: