Изменить шрифт и метки времени в DyagrammeR> русалка> диаграмма Ганта - PullRequest
1 голос
/ 25 апреля 2019

Я сделал эту диаграмму Ганта в R, используя diagrammer::mermaid (воспроизводимый код ниже):

enter image description here

Это хорошо, но я хотел бы:

  1. Увеличить размер шрифта (я полагаю, это сделает каждую строку шире, сделав текущий очень длинный прямоугольник немного более "квадратным". Я в порядке)
  2. Сделайте тЭтикетки более стандартны.Недели для одних, месяцы для других кажутся очень странными.Я хочу, чтобы можно было кратко отличать месяцы и годы друг от друга)

Как я могу реализовать эти изменения?

Я пользователь R, но не знаю узла.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

1 Ответ

1 голос
/ 30 апреля 2019

Для формата оси (вопрос 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...

...