【发布时间】:2017-06-08 06:23:37
【问题描述】:
我正在尝试使用 c3.js 绘制图表。我能够按照入门指南进行操作,因此我知道模块工作正常,但是当我尝试使用自己的数据时,我遇到了图表不显示的问题。
我正在从数据库中获取数据并像这样存储它:
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected successfully to server");
findDocuments(db, function(docs){
//console.log(docs);
exports.getData = function(){
return docs;
}
db.close();
});
});
我知道这确实有效,它以长字符串形式提供以下输出:
[{"_id":"5885dc66c2ef160d2163fb79",
"temperature":18,
"humidity":27,
"visibleLight":260,
"irLight":255,
"date":"2017-01-23T10:35:16+00:00",
"epochtime":1485167716703}]
然后使用 index.js 将这些数据加载到我的视图中,如下所示:
router.get('/', function (req, res) {
res.render('index', {
title: 'Dashboard',
allData: db.getData()
});
})
根据此处的这些示例:http://c3js.org/samples/data_json.html 我尝试绘制图表:
var chart = c3.generate({
data: {
json: allData,
keys: {
x: 'date', // it's possible to specify 'x' when category axis
value: ['temperature', 'humidity'],
}
},
axis: {
x: {
type: 'timeseries'
}
}
});
【问题讨论】:
-
只是在这里抛出一些想法。在解决
router.get()承诺之前,您的c3.generate()代码行是否有可能被击中?就像测试一样,如果您将json: allData替换为硬编码示例,它是否按预期工作?
标签: javascript json node.js ejs c3.js