合成图上的边距

问题描述 投票:2回答:1

我最近尝试向复合图表添加边距,并且图表绘制在Y轴的左侧。

Results

图表是动态构建的。我尝试了更多的边距值组合,但是没有用。我想添加左边距,因为某些图表在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);

有什么想法吗?

dc.js
1个回答
2
投票

从dc.js 3.1.4版本开始,您必须在调用.margins()之前先调用.compose(),以使值反映在子图表中。

但是,由于有了a PR by Keith Dahlby,该限制已被消除。

因此,您可以升级到dc.js 3.1.5(刚刚发布),也可以先致电.margins()

© www.soinside.com 2019 - 2024. All rights reserved.