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

使用highcharts从javascript语句更改marginLeft和marginRight,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,使用Highcharts,如何仅更改图表marginLeft和marginRight,然后从javascript语句重新绘制它。 我需要在代码中的某些位置重新调整图表边距 我试过这样的方法: test = $('#container').highcharts(); test.margin[4] = 50; test.redraw(); 但它不起作用。一般来说,它不受支持,但有一点黑客的做法: //JAVASCRIPT code to change left and right mar

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

我试过这样的方法:

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

但它不起作用。

一般来说,它不受支持,但有一点黑客的做法:

    //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()
。这将迫使所有轴回流

现场演示: