使用highcharts从javascript语句更改marginLeft和marginRight

使用Highcharts,我如何只更改图表marginLeft和marginRight,然后从javascript语句重绘它。 我需要在我的代码中的某些地方重新调整图表边距。

http://jsfiddle.net/ovh9dwqc/

我试过类似的东西:

test = $('#container').highcharts(); test.margin[4] = 50; test.redraw(); 

但它没有用。

一般情况下,它不受支持,但有点hacky方式:

  //JAVASCRIPT code to change left and right margin test = $('#container').highcharts(); $.each(test.axes, function(i, e) { e.isDirty = true; }); test.margin[1] = 50; test.redraw(); 

第一:它的边际[1],而不是边际[4]。 边距为:0-top,1-right,2-bottom,3-left。 就像在CSS中一样。

然后我们需要告知Highcharts需要重绘轴,所以我们将所有的isDirty标志设置为true。

我们也可以使用test.xAxis[0].update()代替test.redraw() 。 这将迫使所有轴回流。

现场演示: http : //jsfiddle.net/ovh9dwqc/1/