我有大量的數據,從csv提取和分類成整齊的類別,如下:堆疊在d3js多個折線圖,而不嵌套數據
return {
time: d3.time.format('%Y/%m/%d %H:%M:%S').parse(d.Time),
conditions: d.Conditions.replace(/"/g, ''),
temperature: +d.Temperature,
humidity: +d.Humidity.replace(/[",%]/g, ''),
windDir: d.WindDir,
windDeg: +d.WindDeg,
pressure: +d.Pressure.replace(/"/g, '')
}
我想達到類似於「小的最終結果堆疊倍數「(http://bl.ocks.org/mbostock/9490516)。看代碼,它使用符號和嵌套來實現多個圖形。但是,我的數據結構並不一樣,一列中沒有多個不同的符號。如果我想使用全部或部分變量,如何複製此結果?
我曾嘗試與巢()函數擺弄,並取得了一個數組,其中時間是關鍵,溫度值:
d3.nest().key(function(d) {return d.time;})
.rollup(function(d) {return d3.sum(d, function(g) {return g.temperature;}); })
.entries(dataset)
...但是,這並沒有給我多每次我想要的值(大概需要Small Stacking示例)。
爲了澄清什麼,我現在有,這是我的領域/範圍/軸定義:
var x = d3.time.scale()
.range([0, width]);
var y = d3.scale.linear()
.range([height, 0]);
var xAxis = d3.svg.axis().scale(x)
.orient("bottom")
.ticks(10);
var yAxis = d3.svg.axis().scale(y)
.orient("left")
.ticks(7);
x.domain(d3.extent(dataset, function(d) { return d.time; }));
y.domain([d3.min(dataset, function(d) { return Math.min(d.temperature - 5, d.absHumidity - 1); }), d3.max(dataset, function(d) { return d.temperature + 2; })]);
我svg.append:
var svg = d3.select('body')
.append('svg')
.attr('width', width + margin.left + margin.right)
.attr('height', height + margin.top + margin.bottom)
.append('g')
.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');
那麼你想要嵌套?你有幾個數據陣列,每個數據都應該是一個圖形? –
不,我想用我的不同數據值'巢',即溫度,溼度,風向等等。我甚至不確定築巢是否正確;它只是小堆疊示例中使用的一個,這正是我想要模擬的。 – IronWaffleMan
好的,所以在這個例子中'符號'就是你的例子中的名字列表,即'var symbols = ['temperature','humidity',...]'。 –