1

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

在此处输入图像描述

这很好,但我想:

  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
4

1 回答 1

2

对于轴格式(问题 1.),也许你搜索这个:

axisFormat %d/%m

文档: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

我不知道字体大小。

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

于 2019-04-30T13:41:41.783 回答