高图。如何为图表网格设置固定宽度(不包括标签)?

时间:2019-05-24 08:11:11

标签: javascript highcharts

如何为图表网格设置固定宽度,不包括标签?固定宽度应在列之间,列之间和沿边缘。标签区域必须是动态的。

列之间的宽度-24px。 列宽-28像素。 边缘和列之间的宽度-12px。

网格宽度-104像素。

https://snag.gy/8twGXT.jpg

http://jsfiddle.net/2481ht7L/15/

我试图通过CSS设置“ g”标签的宽度,但是没有用。

<g class="highcharts-grid highcharts-yaxis-grid"></g>

2 个答案:

答案 0 :(得分:0)

您可以在图表的配置中更改pointPaddinggroupPadding

如果上述方法无济于事,请提供小提琴。

答案 1 :(得分:0)

load事件中,您可以使用计算的marginRight属性更新图表,并将pointPadding调整为所需的尺寸:

chart: {
    ...,
    type: 'column',
    marginRight: 0,
    marginLeft: 0,
    events: {
        load: function() {
            if (this.chartWidth < 104) {
                this.setSize(104);
            } else {
                this.update({
                    chart: {
                        marginRight: this.chartWidth - 104
                    }
                }, true, false, false);
            }
        }
    }
},
plotOptions: {
    series: {
        grouping: false,
        groupPadding: 0,
        pointPadding: 0.23
    }
}

实时演示: http://jsfiddle.net/BlackLabel/kzdLyp1g/

API参考:

https://api.highcharts.com/highcharts/chart.marginRight

https://api.highcharts.com/class-reference/Highcharts.Chart#update

https://api.highcharts.com/class-reference/Highcharts.Chart#setSize