[英]d3 - Show only values using d3.nest()
我有一個d3.nest()
函數,它給出以下結果。
[
{
"key": "one",
"values": [
{
"date": 1385856000000,
"values": 10
},
{
"date": 1385942400000,
"values": 20
},
{
"date": 1386028800000,
"values": 10
},
{
"date": 1386115200000,
"values": 17
},
{
"date": 1386201600000,
"values": 15
}
]
},
{
"key": "two",
"values": [
{
"date": 1385856000000,
"values": 18
},
{
"date": 1385942400000,
"values": 13
},
{
"date": 1386028800000,
"values": 18
},
{
"date": 1386115200000,
"values": 24
},
{
"date": 1386201600000,
"values": 26
}
]
},
{
"key": "three",
"values": [
{
"date": 1385856000000,
"values": 19
},
{
"date": 1385942400000,
"values": 22
},
{
"date": 1386028800000,
"values": 17
},
{
"date": 1386115200000,
"values": 16
},
{
"date": 1386201600000,
"values": 12
}
]
},
{
"key": "four",
"values": [
{
"date": 1385856000000,
"values": 35
},
{
"date": 1385942400000,
"values": 16
},
{
"date": 1386028800000,
"values": 18
},
{
"date": 1386115200000,
"values": 11
},
{
"date": 1386201600000,
"values": 10
}
]
}
]
功能說明
d3.csv('data.csv', function(data){
data.forEach(function(d) {
d.date = Date.parse(d.date)
d.values = +d.values
})
var nest = d3.nest()
.key(function(d) { return d.label; })
.rollup(function (v) { return v.map(function (d) { delete d.label; return d; })})
.entries(data)
d3.select('body').append('pre')
.text(JSON.stringify(nest, null, ' '));
})
資料:
label,date,values one,2013-12-01,10 one,2013-12-02,20 one,2013-12-03,10 one,2013-12-04,17 one,2013-12-05,15 two,2013-12-01,18 two,2013-12-02,13 two,2013-12-03,18 two,2013-12-04,24 two,2013-12-05,26 three,2013-12-01,19 three,2013-12-02,22 three,2013-12-03,17 three,2013-12-04,16 three,2013-12-05,12 four,2013-12-01,35 four,2013-12-02,16 four,2013-12-03,18 four,2013-12-04,11 four,2013-12-05,10
我的要求是-結果我不希望出現date
和values
標簽。 我只希望顯示date
和values
列的values
。
像這樣的1385856000000, 10
。
我有沒有機會在values
列表中像這樣[ 1385856000000, 10 ]
而不是{ 1385856000000, 10 }
得到方括號而不是大括號。
感謝您的幫助。
我自己找到了答案。
下面的函數給了我結果。
d3.csv('data.csv', function(data){ data.forEach(function(d) { d.date = Date.parse(d.date) d.values = +d.values }) var nest = d3.nest() .key(function(d) { return d.label; }) .rollup(function (v) { return v.map(function (d) { delete d.label; return [d.date, d.values]; })}) .entries(data) d3.select('body').append('pre') .text(JSON.stringify(nest, null, ' ')); })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.