ChartJS渲染旧数据和新数据

时间:2015-12-03 00:19:14

标签: meteor charts reactjs

我正在使用Meteor和ReactJS创建一个应用程序。我有一个我订阅的集合和客户端,我想根据集合中的数据呈现ChartJS Polar Area图表。

问题是每当我更新集合时,新数据和旧数据都会出现在图表上(当我悬停时,我会得到两个不同的段,旧数据和新数据)。

这是我的代码:

ChartComponent = React.createClass({

    mixins: [ReactMeteorData],

    getMeteordata() {
      let data = Meteor.subscribe("sentiment");
      return {
        chartData: [
          {
            value: MyCollection.find({"item": "test1"}).count(),
            color: "green",
            label: "Test1"
          },
          {
            value: MyCollection.find({"item": "test2"}).count(),
            color: "yellow",
            label: "Test2"
          },
          {
            value: MyCollection.find({"item": "test3"}).count(),
            color: "red",
            label: "Test3"
          } 
        ]
      }
    },

    _drawGraph() {
      let ctx = document.getElementById("my-canvas").getContext("2d");
      let polarChart = new Chart(ctx).Polararea(this.data.chartData, {
         animateScale: true,
      });

      return polarChart;
    },


    componentDidMount() {
      this._drawGraph();
    },


    componentDidUpdate() {
      this._drawGraph().update();
    },


    render() {
      return <canvas id="my-canvas"></canvas>
    }
});

帮助将不胜感激。非常感谢你!

注意:

我正在使用反应版0.14。由于一些api变化,官方的react-chartjs组件不起作用。

0 个答案:

没有答案