У меня есть следующие данные CSV, которые генерируются во время выполнения и могут иметь переменное число столбцов. Первый столбец - это всегда название города, а остальные - температуры. Количество столбцов температуры может меняться во время выполнения. Гистограмма должна быть сформирована в соответствии с CSV и должна отображать все столбцы
data.csv
A, 30, 25, 38, 37
B, 33, 31, 28, 29
index. js
d3.text("data.csv").then(function(data) {
var rows = d3.csvParseRows(data, d3.autoType);
columnCount = rows[0].length;
xScale.domain(data.map(function(d) { return rows[0]; }));
yScale.domain([0, d3.max(data, function(d) { return rows[1]; })]);
for (let col=1; col<columnCount; ++col) {
g.selectAll(.bar)
.data(data)
.enter().append("rect")
.attr("class", "TempBar")
.attr("x", function (d) { return xScale(d[0]) + col*10; })
.attr("y", function (d) { return yScale(d[col]); })
.attr("height", function (d) { return height - yScale(d[col]); })
}
});
Этот пост SO Гистограмма: установить домен оси из CSV без заголовка предлагает не использовать l oop для добавления элементов. Какие у нас есть варианты, которые не используются для l oop?