Highcharts - 在摧毁传奇后重绘/调整图表?

时间:2014-10-22 15:55:44

标签: javascript highcharts

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

2 个答案:

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

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