在 DyagrammeR>mermaid>gantt 图表中更改字体和时间 aixis 标签

Luc*_*ion 6 gantt-chart mermaid diagrammer

我使用 R 制作了这个甘特图diagrammer::mermaid(下面的可重现代码):

在此输入图像描述

这很好,但我想:

  1. 增加字体大小(我想这会让每行更宽,使当前很长的矩形稍微更“方形”。我对此很满意)
  2. 使t-aixis标签更加标准。对某些人来说几周,对另一些人来说几个月似乎很奇怪。我希望能够以简洁的方式区分月份和年份)

我怎样才能实施这些改变?

我是一名 R 用户,对 Node.js、CSS 等一无所知。我设法在互联网上找到代码片段来创建它,但不了解任何有关style_widget或如何更改它的信息。

devtools::install_github('rich-iannone/DiagrammeR')
library(DiagrammeR)
library(tidyverse) #just for the pipe operator

style_widget <- function(hw=NULL, style="", addl_selector="") {
  stopifnot(!is.null(hw), inherits(hw, "htmlwidget"))

  # use current id of htmlwidget if already specified
  elementId <- hw$elementId
  if(is.null(elementId)) {
    # borrow htmlwidgets unique id creator
    elementId <- sprintf(
      'htmlwidget-%s',
      htmlwidgets:::createWidgetId()
    )
    hw$elementId <- elementId
  }

  htmlwidgets::prependContent(
    hw,
    htmltools::tags$style(
      sprintf(
        "#%s %s {%s}",
        elementId,
        addl_selector,
        style
      )
    )
  )
} 


flx_BmP  <- mermaid("
                    gantt
                    dateFormat  YYYY-MM-DD

                    section Common
                    Application (1230 plants) :done, first_1,  2018-05-15, 2018-07-30
                    Elegible (1003)           :done, first_1,  2018-06-15, 45d
                    Plants accept (576)       :done, first_1,  2018-08-01, 2d
                    Q0 - Baseline (576)       :done, first_1,  2018-08-02, 15d
                    Lottery (576)            :done, first_1,  2018-09-10, 2d

                    section ITT (288)
                    Treated (223 77%)        :done, first_2,  2018-09-20, 2018-12-15
                    Q1                       :done, first_3,  2018-12-16, 2019-01-05
                    Q2                       :      first_3,  2019-06-01, 2019-06-15

                    section Control (288)
                    Q1                       :done, first_3,  2018-12-16, 2019-01-05
                    Q2                       :      first_3,  2019-06-01, 2019-06-15
                    Treated (263)            :      first_3,  2019-06-16, 2019-09-15
                    ") %>% 
  style_widget("display:none", "line.today")

flx_BmP
Run Code Online (Sandbox Code Playgroud)

Alg*_*lgo 5

对于轴格式(问题 1.),您可能会搜索以下内容:

axisFormat %d/%m
Run Code Online (Sandbox Code Playgroud)

文档: https: //mermaidjs.github.io/gantt.html

例子 :

gantt
    title Gantt
    dateFormat  DD-MM-YYYY
    axisFormat %d/%m

    section One
    Task One            : 07-05-2019, 7d
    Task Two            : 09-05-2019, 7d
Run Code Online (Sandbox Code Playgroud)

我不知道字体大小。

使用您的代码链接到演示: https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjo...

  • tks,但是当我添加 `axisFormat %d/%m` 时,图表消失(输出为全白屏)。上面的示例应该是完全可重现的,您可以尝试在您的终端上运行它并添加格式吗?我发现这个[答案](/sf/ask/2114815811/)指向“font-size:50px”可能的调整。当我添加此内容(但不是 axisformat)时,图表仍然会计算,但字体大小不会改变。 (2认同)