2011-05-04 103 views
22

是否可以以編程方式更改HighCharts圖表的軸標題?更改HighCharts軸標題

我試圖做這樣的事情:

charts.series[0].yAxis.title.text = 'new title'; 

charts.yAxis[0].title.text = 'new title'; 

(在已經設置標題圖表時被初始化)。

回答

26

是的,你可以通過下面的做到這一點:

 
chart.yAxis[0].axisTitle.attr({ 
     text: 'new title' 
    }); 
 
+0

+1,謝謝。這是記錄在任何地方?我在官方文檔中找不到它。 – 2011-09-11 23:08:48

+0

我不這麼認爲 - 在Highcharts論壇發現它。 – escouser 2011-09-13 21:07:58

+0

這項工作。但是當我們導出圖表時默認的'Value'文本沒有改變?任何人都知道如何解決這個問題? – 2017-08-17 16:22:55

6

以上回答有還是一個問題。使用導出模塊從繪圖創建的圖像將顯示原始標題,而不是更改的標題。添加以下行來解決:

chart.options.yAxis[0].title.text = 'new title'; 
11

我無法得到任何上述的工作,去年以來也許一切都變了......我最終使用:

chart.yAxis[0].update({ 
       title:{ 
        text: "new title" 
       } 
      }); 

,它很好地工作...

+0

我可以確認只有這個方法有效。使用Highcharts 3.0.9 – 2014-03-03 12:20:21

1

我創建了一個演示提琴來動態更改y軸標題。參閱本JSFIDDLE

HTML:

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div> 

<input type="button" value="Change Y-axis Title to 'My text'" id="my_btn"> 

JS(的thec代碼來更新上的按鈕點擊y軸標題部分):

var chart = $('#container').highcharts(); 
    $('#my_btn').click(function(){ 
     //alert('hey'); 
     chart.yAxis[0].update({ 
      title:{ 
       text:"My text" 
      } 
     }); 
     alert('Y-axis title changed to "My text" !'); 
    }); 

參閱Highcharts 'update' function documentation進一步的細節。

22

現在可以使用setTitle直接在Axis對象上直接完成此操作。例如:

chart.yAxis[0].setTitle({ text: "Bananas" }); 

請參閱this JSFiddle demonstration。方法簽名是:

setTitle(Object title, [Boolean redraw]) 

因此,您可以選擇傳遞布爾值以等待重繪。 title對象採用與xAxis.title相同的參數,這意味着您可以傳入樣式和其他幾個選項以及文本本身。 The API documentation有完整的信息。