简体   繁体   English

使用c3.js向图表添加数据

[英]add data to chart using c3.js

I have a chart, in which I would like to add more data without replacing the data I have, either with a .push or adding a set of data without losing the ones I previously have. 我有一张图表,其中我想添加更多数据而不用.push替换我已有的数据,或者添加一组数据而不丢失以前拥有的数据。

How can I do it? 我该怎么做?

columns: [
      ['data1', -4,3,4,7,8,9,8,7,3],
      ['data1_x', -5,2,3,4,5,4,3,2,1],

. . .

//I need add the new data withouth remove the previous data

chart.load({
    xs: {
        data1: 'data1_x'
    },
    columns: [
        ["data1_x", 3,6],
        ["data1", 5,8]
    ]
});

https://jsfiddle.net/aL8xhgpn/ https://jsfiddle.net/aL8xhgpn/

You can move the data into an array 您可以将数据移动到数组中

var data1 = ['data1',-4,3,4,7,8,9,8,7,3];
var data1_x = ['data1_x', -5,2,3,4,5,4,3,2,1];

and push data into it. 并将数据推送到其中。

Working sample below. 下面的工作示例。

 var data1 = ['data1', -4, 3, 4, 7, 8, 9, 8, 7, 3]; var data1_x = ['data1_x', -5, 2, 3, 4, 5, 4, 3, 2, 1]; var chart = c3.generate({ data: { xs: { data1: "data1_x", data2: "data2_x" }, xSort: false, columns: [ data1, data1_x, ['data2', Math.random() * 10, Math.random() * 10, Math.random() * 10, Math.random() * 10, Math.random() * 10, Math.random() * 10], ['data2_x', Math.random() * 10, Math.random() * 10, Math.random() * 10, Math.random() * 10, Math.random() * 10, Math.random() * 10] ] }, axis: { x: { tick: { values: d3.range(-5, 10) } } } }); chart.internal.xAxis.g.attr('transform', "translate(0," + chart.internal.y(0) + ")"); chart.internal.yAxis.g.attr('transform', "translate(" + chart.internal.x(0) + ", 0)"); data1.push(5) data1.push(8) data1_x.push(3) data1_x.push(6) setTimeout(load, 5000); function load() { chart.load({ xs: { data1: 'data1_x' }, columns: [ data1_x, data1 ] }); } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.18/c3.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.18/c3.js"></script> <div id="chart"></div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM