【问题标题】:Dynamically Add Data Points To Rickshaw Graph将数据点动态添加到人力车图
【发布时间】:2013-08-09 04:10:44
【问题描述】:

所以我正在使用Rickshaw 图形库,我想知道如何动态地将点添加到图形中。

我有一个像这样实例化的图表:

        @seriesData = [ [], [], [] ]
        random = new Rickshaw.Fixtures.RandomData(150)


        for (var i = 0; i < 50; i++) {
            random.addData(self.seriesData)
        }


        @graph = new Rickshaw.Graph(
            element: document.getElementById("chart")
            width: 550
            height: 300
            renderer: 'area'
            series: [
                {
                    color: "#c05020"
                    data: self.seriesData[0]
                    name: 'One'
                }, {
                    color: "#30c020"
                    data: self.seriesData[1]
                    name: 'Two'
                }, {
                    color: "#2791d7"
                    data: self.seriesData[2]
                    name: 'Three'
                }
            ]
        )

        @graph.render()

        hoverDetail = new Rickshaw.Graph.HoverDetail(
            graph: self.graph
        )

        legend = new Rickshaw.Graph.Legend(
            graph: self.graph
            element: document.getElementById('legend')

        )

        shelving = new Rickshaw.Graph.Behavior.Series.Toggle(
            graph: self.graph
            legend: legend
        )

        axes = new Rickshaw.Graph.Axis.Time(
            graph: self.graph
        )
        axes.render()

我有这样的数据通过 socket.io 进入:

    app.on('data',
        (one, two, three) =>
            // Dynamically add data points to graph
    )

我想知道如何将这三个点附加到图表中。我找不到这个库的任何好的文档。我知道它建立在d3.js 之上,但我不确定如何将这些方法合并到我的图表中。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript coffeescript socket.io rickshaw


    【解决方案1】:

    我设想两种情况可以解决您的问题:

    .

    var data = [
            {
                data: [ { x: 0, y: 120 }, { x: 1, y: 890 }, { x: 2, y: 38 }, { x: 3, y: 70 }, { x: 4, y: 32 } ],
                color: "#c05020"
            }, {
                data: [ { x: 0, y: 80 }, { x: 1, y: 200 }, { x: 2, y: 100 }, { x: 3, y: 520 }, { x: 4, y: 133 } ],
                color: "#30c020"
            }
    ];
    
    
    var graph = new Rickshaw.Graph( {
        element: document.getElementById("chart"),
        renderer: 'line',
        height: 300,
        width: 800,
        series: data
    } );
    
    var y_ticks = new Rickshaw.Graph.Axis.Y( {
        graph: graph,
        orientation: 'left',
        tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
        element: document.getElementById('y_axis'),
    } );
    
    graph.render();
    
    
    $('button#add').click(function() {
        data.push({
                data: [ { x: 0, y: 200 }, { x: 1, y: 390 }, { x: 2, y: 1000 }, { x: 3, y: 200 }, { x: 4, y: 230 } ],
                color: "#6060c0"
        });
        graph.update();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 2018-04-04
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      相关资源
      最近更新 更多