我在D3中遇到了一些麻煩,而且我正在觸動我的智慧結束。基本上我有一個時間序列圖,任意多行,並且源數據不能在手邊方便的修改(但可以在客戶端操作)。任意多行(和特定數據格式)的D3線圖
的數據格式正是如此(有任意多個標籤):
object = [
{
"_id": "2012-08-01T05:00:00",
"value": {
"label1": 1.1208746110529344,
"label2": 0.00977592175310571
}
},
{
"_id": "2012-08-15T05:00:00",
"value": {
"label1": 0.7218920737863477,
"label2": 0.6250727456677252
},
....
我已經試過類似:
var vis = d3.select.(element)
.append("svg:svg")
.attr("width", width)
.attr("height", height)
.append("svg:g");
var line = d3.svg.line()
.x(function(data) {return x(new Date(data._id));})
.y(function(data) {return y(data.value);});
vis.append("svg:path")
.attr("d", line(object))
.attr("stroke", "black");
這似乎無法通過Y訪問,以訪問正確的值我得到了「錯誤:問題分析」以及大量的「NaNL3.384615384615385,NaNL6.76923076923077,NaNL10.153846153846155」。但是,如果我通過類似硬標籤值:
.y(function(data) {return y(data.value.label1);});
它工作得很好,但只適用於一行。有誰可以提供幫助嗎?
正是我需要的,謝謝! – jshwlkr