2016-08-16 57 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