【问题标题】:Adding dynamic titles in flexdashboard, or adding dynamic titles to gauge()在 flexdashboard 中添加动态标题,或者在 gauge() 中添加动态标题
【发布时间】:2021-08-13 04:05:59
【问题描述】:

我正在 flexdashboard 中创建一个仪表页面。我希望能够从单独的 csv 更新仪表的标题和值,以便我团队的其他成员无需接触代码即可更新值。
我该怎么做:

  • 使标题动态化,以便从 csv 文本中获取?例如:

### myData$myTitles[1](当然,这不起作用。)

  • 或者 为仪表添加一个标题(这样我就可以将框标题留空)。

一些示例代码如下。如果您有任何建议,我将不胜感激。

    ---
    title: "My dynamic gauges"
    output: 
    flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    ---

    ```{r setup, include=FALSE}
    library(flexdashboard)
    library(readxl)
    library(dplyr)

    #myData <- read_csv("mydata.csv")

    myData <- tibble(myTitles = c("title 1", "title 2", "title 3","title  4","title 5","title 6"),
            myValues = c(2,4,3,3,5,2))

    ```

    Column 
    -----------------------------------------------------------------------
    <h3> Column Name 1 </h3>

    ### title 1 

    ```{r}

    gauge(myData$myValues[1],
          min = 0, 
          max = 6,
          gaugeSectors(success = c(0,2), 
                 warning = c(3,4), 
                 danger = c(5,6)))
    ```

    ### title 2

    ```{r}

    gauge(myData$myValues[2],
          min = 0, 
          max = 6,
          gaugeSectors(success = c(0,2), 
                 warning = c(3,4), 
                 danger = c(5,6)))
    ```

    Column 
    -----------------------------------------------------------------------
    <h3> Column Name 2 </h3>

    ### title 3 

    ```{r}

    gauge(myData$myValues[3],
          min = 0, 
          max = 6,
          gaugeSectors(success = c(0,2), 
                 warning = c(3,4), 
                 danger = c(5,6)))
    ```

    ### title 4

    ```{r}

    gauge(myData$myValues[4],
          min = 0, 
          max = 6,
          gaugeSectors(success = c(0,2), 
                 warning = c(3,4), 
                 danger = c(5,6)))
    ```


    Column 
    -----------------------------------------------------------------------
    <h3> Column Name 3 </h3>

    ### title 5

    ```{r}

    gauge(myData$myValues[5],
          min = 0, 
          max = 6,
          gaugeSectors(success = c(0,2), 
                 warning = c(3,4), 
                 danger = c(5,6)))
    ```

    ### title 6

    ```{r}

    gauge(myData$myValues[6],
          min = 0, 
          max = 6,
          gaugeSectors(success = c(0,2), 
                 warning = c(3,4), 
                 danger = c(5,6)))
    ```

【问题讨论】:

    标签: r flexdashboard gauge


    【解决方案1】:

    这是一个简单的解决方案:

    ```{r results='asis'}
    cat(paste0("### ",myData$myTitles[1]))
    ```
    

    您应该使用它而不是 ### myData$myTitles[1]

    【讨论】:

    • 谢谢!这是一个非常好的、简单的解决方案,但我在完全不同的轨道上,可能永远不会想到它!非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多