我正在构建几个图表,其中一些我使用chart.legend.destroy()删除了图例。我已经尝试过chart.reflow()和chart.redraw,但是图表不会“重新”自己并且保持相同的大小,就像传说仍然存在一样。
答案 0 :(得分:1)
这有点令人费解。
您可以销毁图例,但Highcharts无法识别需要重新调整缺少的图例。因此,您需要将其显示设置为false
。但是现在Highcharts没有意识到它是dirty
所以它不会重绘。所以......
var chart = Highcharts.charts[0];
chart.legend.destroy();
chart.legend.display = false;
chart.isDirtyBox = true;
chart.redraw();
参见示例here。
答案 1 :(得分:0)
您可以在示例中调用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;
}