AmCharts 4: нельзя использовать CategoryX для LineSeries - PullRequest
0 голосов
/ 20 марта 2020

Я пытался установить dataFields для x, я пытался использовать категорию X, но я получаю 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");

1 Ответ

0 голосов
/ 20 марта 2020

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
...