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

Highcharts - Redraw/Resize chart after destroying legend?

本文关键字:绘制 调整 新绘制 Highcharts-      更新时间:2023-09-26

我正在动态构建几个图表,其中一些图表我使用chart.legend.dedestroy()删除了图例。我尝试过chart.reflow()和chart.repraw,但这些图表不会自行"改装",并保持相同的大小,就好像图例仍然存在一样。

这有点复杂。

你可以摧毁传说,但Highcharts没有意识到它需要为丢失的传说重新调整。因此,您需要将其显示设置为false。但现在Highcharts没有意识到它是dirty,所以它不会重新绘制。所以…

    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;
}

http://jsfiddle.net/3Bh7b/61/