0
嘗試使用立體派和D3編寫簡單的可視化。無可否認,我對使用立體主義和D3相當陌生,立體主義文檔很難理解。立體派:系列不渲染,但獲取數值
輪詢一個數值的URL以檢索'rate',然後像在示例中那樣將該值推送到數組上。畫布的東西不渲染,最初,數值也不像Cubism.js的例子。過了一會兒,一個數字顯示出反映了最新的調查價值。調試JavaScript確實顯示數組隨着時間的推移隨着值而擴展。
任何幫助理解問題更好,將不勝感激。
render: function() {
var thatElement = this.el;
function update(model) {
var values = [];
return context.metric(function(start, stop, step, callback) {
model.fetch();
var data = model.toJSON();
if (data[0]) values.push(parseInt(data[0]));
callback(null, values = values.slice(-context.size()));
}, "Rate");
}
var context = cubism.context()
.serverDelay(0)
.clientDelay(0)
.step(5000);
var foo = update(this.model);
d3.select(thatElement).append("div").call(function(div) {
div.append("div")
.attr("class", "axis")
.call(content.axis().orient("top"));
div.selectAll(".horizon")
.data([foo])
.enter().append("div")
.attr("class", "horizon")
.call(context.horizon());
div.append("div")
.attr("class", "rule")
.call(context.rule());
});
}
此外,注意到如果我在其他視圖中調用cubism.context()東西,它將打破前面的視圖。
你確定有div.selectAll方法嗎?因爲我只看到d3.selectAll。 – 2013-05-01 02:23:26
我想通了。時間序列默認大小爲1440(四小時,每秒1個像素),並且它在封裝div之外進行渲染。 現在的問題決定了系列的大小,或者至少迫使它渲染,使系列消失在左邊而不是右邊。 – Maz 2013-05-01 22:00:56
經過實驗後,我發現每個數據點有一個像素效果最好。 – 2013-05-02 02:33:33