Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于输入在R中切换颜色方案_R_Shiny_Leaflet - Fatal编程技术网

基于输入在R中切换颜色方案

基于输入在R中切换颜色方案,r,shiny,leaflet,R,Shiny,Leaflet,我今天进入了R Shinny,在过去的10个小时里,我一直在用传单集成构建一个漂亮的Shinny网络地图……到目前为止,大多数事情都很顺利!(耶,假期)但是我对变量的条件选择有一个问题 用户可以选择其选举结果在地图上显示为彩色多边形的政党。根据用户的参与方选择,配色方案应相应更改。例如,用户选择第1方,配色方案应标记为“蓝色”,第2方标记为“灰色”等 在传单第1部分中,我用以下方式定义配色方案: leafletProxy("austriaMap") %>% addPolygons(

我今天进入了R Shinny,在过去的10个小时里,我一直在用传单集成构建一个漂亮的Shinny网络地图……到目前为止,大多数事情都很顺利!(耶,假期)但是我对变量的条件选择有一个问题

用户可以选择其选举结果在地图上显示为彩色多边形的政党。根据用户的参与方选择,配色方案应相应更改。例如,用户选择第1方,配色方案应标记为“蓝色”,第2方标记为“灰色”等

在传单第1部分中,我用以下方式定义配色方案:

leafletProxy("austriaMap") %>%
    addPolygons(data = data1(), color = "#444444", weight = 1, smoothFactor = 0.5,
                opacity = 1.0, fillOpacity = 0.5,
                fillColor = ~colorQuantile("Greys", data2())(data2()),
                highlightOptions = highlightOptions(color = "white", weight = 2,
                                                    bringToFront = TRUE)
                )
这非常有效,但我希望“灰色”部分根据所选方进行切换。我尝试了
开关
功能,根据用户输入从颜色列表中进行选择:

  col.list <- list("OrRd", "Greys", "Blues")

  cols <- reactive({
    switch(input$party,
           "party1" = col.list[[1]],
           "party2" = col.list[[2]],
           "party3" = col.list[[3]])
  })

有什么想法吗?这是迄今为止最耗时的部分,尽管它表面上很简单。这真的很奇怪,因为如果我手动将字符串放在传单部分,一切都会正常工作。如果通过调用
cols
放置字符串,则会收到此错误。还有其他解决办法吗?谢谢大家!

你能在你的
传单
通话中说明你是如何呼叫
cols
的吗?您是将其称为
cols
,还是将其称为
cols()
?这不是一个可复制的示例,请进行编辑,以便其他人可以复制/粘贴并实际运行和复制错误消息,而这不是熟练的猜测。@Phil:叫我驴子……4个小时的搜索,它实际上只是cols(),而不是cols。非常感谢。
Warning: Error in UseMethod: no applicable method for 'toPaletteFunc' applied to an object of class "c('reactiveExpr', 'reactive')"