如何动态地将stockEvents添加到amCharts

时间:2017-10-25 05:39:57

标签: javascript amcharts

我有一个功能我用来向我的股票图表添加新的数据点。我需要创建一个条件,其中一个数据点带有一个图标。我看到axios.post('/create/post', this.content).then((response) => { // do something }) 可以做到这一点,但它没有在我的图表中显示:

stockEvents

1 个答案:

答案 0 :(得分:1)

您需要设置股票事件的graph属性才能使其可见。这可以是对股票图表对象或图表id的引用。如果您在addDataPoint函数之外还没有这样做,还需要调用validateData来更新图表。

AmCharts.makeChart("chartdiv", {
  // ...
  "panels": [{
    // ...
    "stockGraphs": [{
       // ...
       "id": "g1", //added id
       // ...
    },
    // ...
    ]
  },
  // ...
  ],
  // ...
});
// ...
function addDataPoint(ask) {
  // ...
  chart.dataSets[0].stockEvents = [{
    date: newDate,
    type: "flag",
    text: "F",
    graph: "g1", //added
    description: "Some longer\ntext can also\n be added"
  }];
  dataProvider.shift();
  chart.validateData(); //added
}

另请注意,您每次都会在addDataPoint函数中覆盖stockEvents数组。如果您想保留以前的活动,则需要使用push,因为它是一个数组。

Demo