趋势线AmCharts在没有基于日期的情况下不起作用

Trendline AmCharts not work without date based

本文关键字:日期 不起作用 情况下 于日期 AmCharts 趋势线      更新时间:2023-09-26

你好,我在AmCharts中使用趋势线,当我在没有基于日期的情况下更改值时,它不会显示,反之亦然。

这是我的代码:

function drawGraph(amYear) {
            var trendLinesData = trendLines(chartData);
            // AmCharts.ready(function () {
            // SERIAL CHART
            chart = new AmCharts.AmSerialChart();
            chart.dataProvider = chartData;
            chart.dataDateFormat = "YYYY-MM";
            chart.categoryField = "field";
            chart.startDuration = 2;
            // AXES
            // category
            var categoryAxis = chart.categoryAxis;
            categoryAxis.parseDates = false; // as our data is date-based, we set parseDates to true
            categoryAxis.minPeriod = "MM"; // our data is daily, so we set minPeriod to DD
            categoryAxis.gridAlpha = 0.1;
            categoryAxis.minorGridAlpha = 0.1;
            categoryAxis.axisAlpha = 0;
            categoryAxis.minorGridEnabled = true;
            categoryAxis.inside = true;
            // value
            var valueAxis = new AmCharts.ValueAxis();
            valueAxis.title = "Total";
            valueAxis.tickLength = 0;
            valueAxis.axisAlpha = 0;
            valueAxis.showFirstLabel = false;
            valueAxis.showLastLabel = false;
            chart.addValueAxis(valueAxis);
            // GRAPH
            var graph = new AmCharts.AmGraph();
            graph.dashLength = 5;
            graph.lineColor = "#3498db";
            graph.valueField = "value";
            graph.lineThickness = 1;
            chart.addGraph(graph);
            // SCROLLBAR
            var chartScrollbar = new AmCharts.ChartScrollbar();
            chart.addChartScrollbar(chartScrollbar);
            // TREND LINES
            // first trend line
            var trendLine = new AmCharts.TrendLine();
            trendLine.initialValue =  5;
            trendLine.initialXValue =  5;
            trendLine.finalValue =  30;
            trendLine.finalXValue =  40;
            trendLine.lineColor = "#000";
            chart.addTrendLine(trendLine);
            // WRITE
            chart.write("datachart");
        // });
        }

我已经尝试了另一个属性,并调用了chart.validateNow(),但它仍然不起作用。如何解决?

在非基于日期的序列图(根据您发布的代码,您似乎正在使用它)中,您需要使用initialCategoryfinalCategory

它们需要包含与数据类别字段中的字符串完全相同的字符串(在您的情况下为field)。

initialXValuefinalXValue仅与XY图表相关。