Поля на составной диаграмме - PullRequest
2 голосов
/ 03 октября 2019

Я недавно пытался добавить поля в составные диаграммы, и диаграммы строятся слева от оси Y.

Results

Графикипостроены динамически. Я пробовал больше комбинаций значений для полей, но это не сработало. Я хочу добавить margin-left, потому что некоторые диаграммы имеют большие значения по оси Y.

Вот важный код:

hist_margins = {top: 10, right: 50, bottom: 30, left: 40}
charts[i]
        .compose([
            dc.barChart(charts[i])
                .dimension(dim)
                .group(static_group)
                .colors('#ccc')
                .barPadding(0.1)
                .controlsUseVisibility(true),
            dc.barChart(charts[i])
                .dimension(dim)
                .colors('rgb(85, 160, 185)')
                .group(group)
                .barPadding(0.1)
                .controlsUseVisibility(true)
                .brushOn(false),
        ])

      var min = dim.bottom(1)[0][it.variable],
          max = dim.top(1)[0][it.variable];
      charts[i]
          .width(w_hist)
          .height(h_hist) 
          .margins(hist_margins)
          .dimension(dim)
          .group(group)
          .x(d3.scaleLinear().domain([min, max])) 
          .xAxisLabel(it.variable, 20)
          .xUnits(dc.units.fp.precision(it.precision*1.5))
          .brushOn(true)
          .transitionDuration(0) 
          .renderTitle(true)
          .title(function (d) {
            return it.variable + ': ' + d.value
          })
          .controlsUseVisibility(true);

Есть идеи?

1 Ответ

2 голосов
/ 03 октября 2019

Начиная с dc.js 3.1.4, вам нужно будет позвонить .margins() перед вызовом .compose(), чтобы значения были отражены в дочерних диаграммах.

Однако благодаря PR от Keith Dahlby , это ограничение было устранено.

Итак, вы можете либо перейти на dc.js 3.1.5 (только что выпущенный), либо сначала позвонить на .margins().

...