小编Ric*_*ick的帖子

如何根据显示的值更改 Shinydashboard 中信息框的颜色

我正在尝试创建一个简单的天气显示,它将根据温度更改信息框颜色。颜色值是正确的,因为它显示正确,但颜色参数不会识别颜色。

它报告

validateColor(color) 中的错误:无效的颜色:。有效颜色为:红色、黄色、浅绿色、蓝色、浅蓝色、绿色、海军蓝、蓝绿色、橄榄色、石灰色、橙色、紫红色、紫色、栗色、黑色。另外:警告消息:在 if (color %in% validColors) { :条件的长度 > 1 并且只会使用第一个元素

代码如下所示,关键行前有注释

    library(shiny)
    library(shinydashboard)
    library(RWeather)

    getColor <-  function(station) {
      t <-  as.numeric(getWeatherFromNOAA(station_id = station, message = FALSE)$temp_c)
      if(t  > 30)
      {return('red')}
      else if (t < 5) 
      {return('blue')}
      else return('yellow')
    }

    header <- dashboardHeader(title =  'Current weather')
    sidebar <- dashboardSidebar()
    boxCity <-  box(selectInput('station', 'City:', choices = c('Atlanta' = 'KATL',  'Chicago' = 'KORD', 'Fairbanks' = 'PAFA', 'New York' = 'KJFK', 'Phoenix' ='KPHX'), selected = 'KATL'))
    boxCondition <-  box(title = 'Current …
Run Code Online (Sandbox Code Playgroud)

r shinydashboard

3
推荐指数
1
解决办法
6178
查看次数

标签 统计

r ×1

shinydashboard ×1