2016-08-16 43 views
0

我在我的AngularJS應用程序中使用amCharts,並且正在尋找重命名類別字段標籤的方法。以下是我的代碼:如何修改amCharts中類別字段的標籤

var configChart = function() { 
      employeeChart = new AmCharts.AmSerialChart(); 
      employeeChart.categoryField = "empId"; 

      var yAxis = new AmCharts.ValueAxis(); 
      yAxis.position = "left"; 
      employeeChart.addValueAxis(yAxis); 

      mcfBarGraph = new AmCharts.AmGraph(); 
      mcfBarGraph.valueField = "employeeRating"; 
      mcfBarGraph.type = "column"; 
      mcfBarGraph.fillAlphas = 1; 
      mcfBarGraph.lineColor = "#f0ab00"; 
      mcfBarGraph.valueAxis = yAxis; 
      employeeChart.addGraph(empBarGraph); 

      employeeChart.write('employee'); 


     } 

在上面coode如果你觀察請將categoryField是EMPID等X軸它顯示了員工ID的,我希望把它「部門-EMPID」。例如,如果部門編號爲1,則在x軸上顯示1-1,1-2等顯示。部門標識不在數據提供者中,但是是我的控制器中的一個範圍變量。你能讓我知道我能做到嗎?

回答

0

您可以在圖表對象的categoryAxis中定義一個labelFunction以獲得所需的格式。

var categoryAxis = employeeChart.categoryAxis; 
categoryAxis.labelFunction = function(valueText) { 
    return dept + '-' + valueText; 
}; 

下面是一個使用你的設置一些假數據來說明這個小提琴:最初https://jsfiddle.net/by7grqjm/2/

+0

感謝您的幫助。但是,當頁面加載它給我的價值不確定的,一旦我刷新圖表再次出現值。該值是從AngularJs中的服務中返回的,我將這個值分配給一個變量並按照您的建議使用它。我試着用console.log打印這個值,這個值是未定義的。所以,你可以讓我知道爲什麼它沒有定義,直到我刷新圖表。 – Valla

+0

如果你可以提供一個可以複製你的場景的小提琴,我可以仔細看看。 – xorspark

+0

我明白是什麼導致它。返回部門Id的服務是$ http服務,因此它在控制器中最後被調用,並且在此之前執行圖表的代碼。那麼有沒有辦法在圖表代碼執行之前得到這個值。 – Valla