AmCharts 4:不能对LineSeries使用categoryX

问题描述 投票:0回答:1

我尝试设置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");
jquery amcharts amcharts4
1个回答
0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.