您好,我在 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(),但它仍然不起作用。 如何解决这个问题?
最佳答案
在非基于日期的序列图表中(根据您发布的代码,您似乎正在使用该图表),您需要使用 initialCategory
和 finalCategory
.
它们需要包含与数据类别字段(在您的情况下为 field
)中完全相同的字符串。
initialXValue
和 finalXValue
仅与 XY 图表相关。
关于javascript - 趋势线 AmCharts 无法在没有日期的情况下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34185253/