我尝试设置x的dataFields,我尝试使用categoryX但得到Error: Data fields for series "id-126" are not properly defined
,然后我尝试使用series.dataFields.valueX
,但是它返回了一个数字。如何将x设置为XName
的值,以便它可以显示A,B,C
chart.data = [{
"XName": "A",
"YValue": 0.5,
}, {
"XName": "B",
"YValue": 1.3,
}, {
"XName": "C",
"YValue": 2.3,
}];
var valueXAxis = chart.xAxes.push(new am4charts.ValueAxis());
valueXAxis.tooltip.disabled = true;
var valueYAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueYAxis.tooltip.disabled = true;
valueYAxis.title.text = "Amount";
var series = chart.series.push(new am4charts.LineSeries());
series.dataFields.categoryX = "XName";
series.dataFields.valueY = "YValue";
series.tooltipText = "[bold]{valueY}[/]";
series.fillOpacity = 0.3;
series.tooltip.getFillFromObject = false;
series.tooltip.background.fill = am4core.color("#4c676b");
categoryX
/ categoryY
与类别轴分别用于X和Y轴。您的图表在X和Y轴上都使用值轴,因此categoryX
不会做任何事情,因为它期望您的系列中有valueX
定义。您需要将x轴替换为类别轴:
var categoryXAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryXAxis.dataFields.category = "XName";
categoryXAxis.tooltip.disabled = true;
// ...
series.dataFields.categoryX = "XName"; // this will now work