1.。)如何使用新的Rickshaw.Graph.Ajax访问数据?我的完整代码如下,包括通过AJAX调用的JSON示例集:
(function(){
var ajaxGraph = new Rickshaw.Graph.Ajax( {
element: document.getElementById("chart"),
width: 400,
height: 200,
renderer: 'line',
dataURL: '/data.json',
onData: function(data) {
var arrData = [];
$.each(data[0], function(i, l){
var rawData = l.data;
arrData.push(rawData);
return arrData;
});
}
} );
})();
// JSON SAMPLE
[{
"took": 32,
"total": 34200,
"strokeVolume_count": {
"name": "strokeVolume_count",
"data": [
{"x": 1387130400000,"y": 1800},
{"x": 1387134000000,"y": 1800}
]
}
}]
2.。)我怎么知道何时使用.render()方法?我已经看到过这个例子在某些图表上使用而不在其他图表上。我已经阅读了Rickshaw / github文档,解释说您使用它来绘制或重绘图形,但是,我已经看到其他示例在不使用此方法的情况下显示。
答案 0 :(得分:1)
我不完全确定你的第一个问题是什么意思,但你需要从onData函数返回一系列系列对象。
关于调用graph.render(),我已成功将调用放在onComplete回调中,如下所示:
(function(){
var ajaxGraph = new Rickshaw.Graph.Ajax( {
element: document.getElementById("chart"),
width: 400,
height: 200,
renderer: 'line',
dataURL: '/data.json',
onData: function(data) {
return [{
name : "Stroke Volume"
data : data[0].strokeVolume_count.data;
}];
// or simply return [data[0].strokeVolume_count]; since it looks like a series object already
},
onComplete: function() {
// this is also where you can set up your axes and hover detail
this.graph.render();
}
} );
})();