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

时间:2019-04-25 18:49:04

标签: gantt-chart diagrammer mermaid

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

enter image description here

很好,但是我想:

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

如何实施这些更改?

我是R用户,对node.js,css等一无所知。我设法在Internet上找到了代码片段以创建该片段,但对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

1 个答案:

答案 0 :(得分:1)

对于轴格式(问题1),也许您对此进行了搜索:

axisFormat %d/%m

Doc: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...