如何将trendLine的initialValue设置为AmCharts中Value Axis的最大值?

时间:2017-02-05 09:46:42

标签: javascript amcharts

我使用AmCharts填充我的数据。我在图表中显示趋势线。有没有办法将Value Axis的最大值设置为trendiine的initialValue

var trendLines = [{
  "initialValue": 1800,
  "initialCategory": 1997,
  "lineColor": "#050",
  "lineThickness": 1,
  "dashLength": 5
  "finalValue": 0,
  "finalCategory": 1997
}

以下是initialValue

中包含静态值的code pen demo

1 个答案:

答案 0 :(得分:0)

如果您的价值轴中有静态/硬编码minimummaximum,您可以执行评论中提到的Robbert所提到的内容。如果您想动态设置它,可以使用init事件来访问valueAxis的只读minmax属性,这些属性对应于valueAxis的计算最小值和最大值并在那里添加/设置趋势线。以下是创建从第一个类别和最大值到最后一个类别和最小值的新趋势线的示例:

var chart = AmCharts.makeChart("chartdiv", {
  //other settings omitted
  "listeners": [{
    "event": "init",
    "method": function(e) {
      var trendline = {
        "initialValue": e.chart.valueAxes[0].max, //max axis value
        "finalValue": e.chart.valueAxes[0].min,  //min axis value
        "initialCategory": e.chart.dataProvider[0][e.chart.categoryField],
        "finalCategory":e.chart.dataProvider[e.chart.dataProvider.length - 1][e.chart.categoryField]
      };
      e.chart.trendLines.push(trendline);
      e.chart.validateNow();
    }
  }]
});

Demo