2013-03-27 55 views
0

要在highstock圖表之前設置的傳說知名度編程方式更改的傳說被創建,我可以這樣做:圖表創建在highstock或highchart

new Highcharts.StockChart({ 
    legend: { 
     enabled: true, 
     align: 'left' 
    } 
}); 

後,我想允許用戶隱藏或移動傳說到不同的位置。我需要類似於chart.setTitle的東西,但對於傳說。

請注意,我讀了this post,但並不完全明白其中的建議。

感謝您的幫助。

回答

0

你鏈接的帖子是正確的,但目前沒有完全支持你可能會喜歡。沒有辦法設置一個選項來打開和關閉圖例,並讓圖表調整頁邊距以顯示圖例。但是,通過以鏈接的示例所示的方式刪除所有數據序列,圖表消失。然後,您可以手動調整邊距,如果您提前知道圖例的位置以及已經給出了多少邊距。

例如,如果「圖」是你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(); 

這確實調整圖表填補傳說所佔用的空間去除傳說時。不過,它也離開了傳說的方框。我還允許我的用戶手動調整邊距,因此對於我來說,有效的選項是讓用戶「關閉」圖例,然後手動調整邊距。