你鏈接的帖子是正確的,但目前沒有完全支持你可能會喜歡。沒有辦法設置一個選項來打開和關閉圖例,並讓圖表調整頁邊距以顯示圖例。但是,通過以鏈接的示例所示的方式刪除所有數據序列,圖表消失。然後,您可以手動調整邊距,如果您提前知道圖例的位置以及已經給出了多少邊距。
例如,如果「圖」是你highcharts對象的名稱:
for (var a=0; a<window[id].Chart_dataseries.length; a++)
{
chart.series[a].options.showInLegend = false;
chart.series[a].legendItem = null;
chart.legend.destroyItem(chart.series[a]);
chart.legend.render();
}
然後,您可以使圖表「重新出現」通過重新繪製的項目。
for (var a=0; a<window[id].Chart_dataseries.length; a++)
{
chart.series[a].options.showInLegend = true;
chart.series[a].legend.renderItem(chart.series[a]);
chart.legend.render();
}
我做的動作鏈接到一個複選框,當它被選中,圖表「再次出現」,當它未被選擇,圖表這種情況發生「消失」。我試着用下面的附加命令這樣做:
chart.options.legend.enabled=false; (or true)
chart.render();
這確實調整圖表填補傳說所佔用的空間去除傳說時。不過,它也離開了傳說的方框。我還允許我的用戶手動調整邊距,因此對於我來說,有效的選項是讓用戶「關閉」圖例,然後手動調整邊距。