我在AngularJS应用程序中使用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');
}
在上面的代码中,如果您观察到categoryField是empId,那么在x轴上它显示员工Id,我想将其设置为"dept-empId"。例如,如果部门号为1,则在x轴上显示1-1、1-2等。部门Id不在数据提供程序中,而是我的控制器中的范围变量之一。你能告诉我怎样才能做到这一点吗?
你可以在图表对象的categoryAxis中定义一个labelFunction来获得你想要的格式。
var categoryAxis = employeeChart.categoryAxis;
categoryAxis.labelFunction = function(valueText) {
return dept + '-' + valueText;
};
下面是使用您的设置和一些虚拟数据来说明这一点的小提琴:https://jsfiddle.net/by7grqjm/2/