首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用json数据构建C3.js图

使用json数据构建C3.js图
EN

Stack Overflow用户
提问于 2019-03-18 14:19:03
回答 1查看 228关注 0票数 1

我试图从mysql数据库中使用php获取的数据构建c3.js线图。

代码语言:javascript
复制
 var chart = c3.generate({
  bindto: '#linear-chart',
  data: {
    json:lineChartData,
    keys:{
      value: ['date', 'temp'],
    }
  },
  zoom: {
    enabled: true
  }
});

来自mysql的lineChartData - json数据,如下所示:

代码语言:javascript
复制
[{date: Wed Mar 13 2019, temp: 200},{.......}]

如何准备好发送给c3.js的json数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-23 19:56:45

通过执行以下操作,可以轻松地将json数据回显到C3.js中:

代码语言:javascript
复制
var dataset = <?php echo $lineChartData; ?>; 
data: { 
    json: dataset
    }

我使用的管道与您在我的web项目中使用的管道相同(mySQL-PHP-C3.js)。重要的是您的json数据完全符合C3输入所需的格式。由于您可以在C3.js文档(https://c3js.org/samples/timeseries.html)中阅读,时间序列的数据格式应该如下:

代码语言:javascript
复制
data: {
       x: 'x',
       //  xFormat: '%Y%m%d', // 'xFormat' can be used as custom format of 'x'
       columns: [
           ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
       //  ['x', '20130101', '20130102', '20130103', '20130104', '20130105', '20130106'],
           ['data1', 30, 200, 100, 400, 150, 250],
           ['data2', 130, 340, 200, 500, 250, 350]
         ]
      },
axis: {
       x: {
           type: 'timeseries',
           tick: {
             format: '%Y-%m-%d'
           }
         }
       }

对于我的数据(不是时间序列数据),json对象看起来如下:

代码语言:javascript
复制
{"data1": [0.23, 0.29, 0.19, 0.14, 0.7], "data2": [0, 0.25, 0.61, 0.4, 0.52]}

如果您遵循这个结构并将您的时间数据(日期)作为第三维度添加到它,您应该能够实现您想要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55223482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档