这是一个非常简单的问题,但我似乎无法弄清楚。
我有一个巨大的JSON(大约50,000行),其中每个部分包含一个90%的百分位值,一个计时器名称,以及其他几个无用的数据。
我试图从第90个百分位数制作图表,其中计时器名称是相同的。我使用this tutorial中的代码对所有计时器名称进行分组是相同的。以下是执行此操作的代码:
var dataGroup = d3.nest()
.key(function(d){
return d.timerName;
})
.entries(info);
所以现在JSON按键/值对分组如下:
[{
"key": "Timer1",
"values": [{
"timerName": "Timer1",
"ninetieth": "202",
"year": "2000"
}, {
"timerName": "Timer1",
"ninetieth": "215",
"year": "2002"
}, {
"timerName": "Timer1",
"ninetieth": "179",
"year": "2004"
}, {
"timerName": "Timer1",
"ninetieth": "199",
"year": "2006"
}, {
"timerName": "Timer1",
"ninetieth": "134",
"year": "2008"
}, {
"timerName": "Timer1",
"ninetieth": "176",
"year": "2010"
}]
}, {
"key": "Timer2",
"values": [{
"timerName": "Timer2",
"ninetieth": "100",
"year": "2000"
}, {
"timerName": "Timer2",
"ninetieth": "215",
"year": "2002"
}, {
"timerName": "Timer2",
"ninetieth": "179",
"year": "2004"
}, {
"timerName": "Timer2",
"ninetieth": "199",
"year": "2006"
}, {
"timerName": "Timer2",
"ninetieth": "134",
"year": "2008"
}, {
"timerName": "Timer2",
"ninetieth": "176",
"year": "2013"
}]
}]
我只需要帮助弄清楚如何通过并为每个键提供单独的折线图'如果这是有道理的。所以我需要一个Timer1的图表,折线图的值是'九十'中的全部6个。名为" Timer1"。
的键下的值如果有人可以提供帮助,那就太棒了!这是我到目前为止的代码(它创建了图表所在的框,包括刻度线和所有内容,但实际上没有显示任何行):http://jsfiddle.net/fsx9o8c5/
答案 0 :(得分:0)
http://jsfiddle.net/fsx9o8c5/6/
我已经更新了你想要的东西。
主要变化是
dataGroup.forEach(function(d, i){
graph.append('svg:path')
.attr('d', line(d.values))
.attr('stroke', 'blue')
.attr('stroke-width', 2)
.attr('fill', 'none');
});
到
graph.append('svg:path')
.attr('d', line(data))
.attr('stroke', 'blue')
.attr('stroke-width', 2)
.attr('fill', 'none');
因为您只想将当前数据附加到当前图表中。