Я работаю над приложением, где каждый столбец может содержать разные типы тем.d3.js сложена диаграмма с разными цветами/легендами
Эта текущая демонстрация показывает обычную сложную диаграмму.
Но если я хотел установить различные темы/легенды/цвета каждого столбца. Каким будет лучший способ этого?
было бы случаем создания многомерного массива для массива цвета
var color = d3.scale.ordinal()
.range(["#20b2aa", "#fa8072", "#87ceeb", "#daa520", "#00bfff", "#dc143c", "#87cefa", "#90ee90", "#add8e6", "#d3d3d3"]);
state.selectAll("rect")
.data(function(d) {
return d.ages;
})
.enter().append("rect")
.attr("width", x.rangeBand())
.attr("y", function(d) { return y(d.y1); })
.attr("height", function(d) { return y(d.y0) - y(d.y1); })
.style("fill", function(d) { return color(d.name); })//;
.on("mouseover", function(d) {
//Get this bar's x/y values, then augment for the tooltip
var xPosition = parseFloat(d3.select(this.parentNode).attr("x")) + (x.rangeBand()/2) + 50;
var yPosition = parseFloat(d3.select(this).attr("y"))/2 + height/2;
//Update the tooltip position and value
d3.select("#tooltip")
.style("left", xPosition + "px")
.style("top", yPosition + "px")
.select("#value")
.text(d.name +" : " + d.hours);
//Show the tooltip
d3.select("#tooltip").classed("hidden", false);
})
.on("mouseout", function() {
//Hide the tooltip
d3.select("#tooltip").classed("hidden", true);
})
Не похоже, чтобы этот тип диаграммы соответствовал тому, что вы хотите показать. Может быть, серия или вложенные [диаграммы пончиков] (http://bl.ocks.org/mbostock/3887193)? –
Ах. У меня есть серия вложенных диаграмм пончиков, которые уже представляют данные. Я задавался вопросом, как их уплотнить, чтобы сформировать сложную диаграмму. Таким образом, информация может быть показана с первого взгляда. Полагаю, что я мог бы отображать информацию как серию отдельных штабелированных диаграмм. –
Возможно, это [таблица с разбивкой по областям] (http://nvd3.org/ghpages/stackedArea.html)? –