我是D3.JS的新手,想要在圖形中顯示一些數據。數據存儲在一個對象中。我想要在夜間氣溫爲&的情況下製作一張圖表。它存儲在如下對象:如何在循環中使用三元條件對象?
{
"datum": "2016-09-11",
"day": "22",
"night": "16"
},
我用一個三元條件每次循環時間「天」和「夜」之間的轉移,並在一個變量中保存的值(鍵),所以我可以使用它從數據對象中獲取關鍵值。但不知何故,它不工作..任何人都可以看到我在這裏做錯了嗎?我希望我的問題很清楚..這裏的完整代碼:
var i;
var barOffset = 10;
var barSpacing = 20;
d3.json('weather.json', function (data) {
console.table(data);
for (i = 0; i < 14; i++) {
var key = i % 2 === 0 ? 'night' : 'day';
console.log(data.length);
d3.select('svg')
.append('rect')
.attr('x', barOffset * (i *2))
.attr('y', 400 - 4*data[i][key])
.attr('width', barSpacing)
.attr('height', 4*data[i][key])
.attr('class', i % 2 === 0 ? 'night' : 'day');
}
});
我希望有人能幫助我!謝謝! :)
您可以使用'.enter(data)'實現相同的功能併爲attr提供函數h採取索引和數據 –
如果你能解釋更多什麼「不起作用」,這可以幫助:) – Benjamin
@Benjamin該圖表只顯示4天(白天和夜晚)的溫度,但它應該顯示7天。 8循環後說:Uncaught TypeError:無法讀取未定義的屬性'夜' - 我認爲這是與'數據[我] [關鍵]'出錯 –