Javascript Highcharts-在销毁图例后重新绘制/调整图表大小?

Javascript Highcharts-在销毁图例后重新绘制/调整图表大小?,javascript,highcharts,Javascript,Highcharts,我正在动态构建几个图表,其中一些图表使用chart.legend.destroy()删除图例。我已经尝试过chart.reflow()和chart.redraw,但是这些图表不会自行“重新安装”,并且保持不变的大小,就好像图例仍然存在一样。这有点复杂 您可以销毁图例,但Highcharts无法识别它需要重新调整缺少的图例。因此,您需要将其显示设置为false。但是现在Highcharts没有意识到它是脏的,所以它不会重新绘制。所以 var chart = Highcharts.chart

我正在动态构建几个图表,其中一些图表使用chart.legend.destroy()删除图例。我已经尝试过chart.reflow()和chart.redraw,但是这些图表不会自行“重新安装”,并且保持不变的大小,就好像图例仍然存在一样。

这有点复杂

您可以销毁图例,但Highcharts无法识别它需要重新调整缺少的图例。因此,您需要将其显示设置为
false
。但是现在Highcharts没有意识到它是脏的,所以它不会重新绘制。所以

    var chart = Highcharts.charts[0];
    chart.legend.destroy();
    chart.legend.display = false;
    chart.isDirtyBox = true;
    chart.redraw(); 

请参见示例。

您可以像示例中那样调用setSize:

if(legend.display) {
            chart.setSize(600,400);
            legend.group.hide();
            legend.display = false;
        } else {
            chart.setSize(500,400);
            legend.group.show();
            legend.display = true;
}