Мне нужно настроить цветную легенду для диаграммы рассеяния. Я уже настроил масштаб, и он работает над точками в диаграмме рассеяния, однако то, что я хочу сделать сейчас, это нарисовать маленький квадрат для каждого цвета, заполненный самим цветом, чтобы показать легенду о диаграмме. Нечто подобное в начале моего графика: D3.js ~ размещение прямоугольников с петлей и их раскраска
Я пытался настроить функцию, чтобы сделать их соответствующим образом, но не удалось, вот что я пробовал:
var colore = d3.scale.ordinal()
.domain(d3.extent(dataset, function (d) { return d.Peso; }))
.range(["#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]);
и функции для рисования квадратов :
svg.selectAll("rect")
.data(colore.range())
.enter()
.append("rect")
.attr("fill", function (i) { return colore(i); })
.attr("x", function (i) {for (i=1; i <= colore.range().length; i++)
{ return (i * 12) + "px"; }
})
.attr("y", margin - 8 + "px")
.attr("width", 8 + "px")
.attr("height", 8 + "px");
Это добавляет к элементу SVG 8 квадратов, но уложены на друг друга, как и (красный один):
Так что я не знаю, как исправить мои функции, которые, как я предполагаю, являются ошибками. Заранее благодарю за любую помощь!
я решил ее и собирался удалить его, мне не нужно использовать для петель, так как у меня уже есть массив данных, будет редактировать ответ сейчас – tomtomtom
@tomtomtom: вы всегда можете ответить на свой собственный вопрос, чтобы, если у других будет тот же вопрос, они смогут увидеть ответ. Или, если мое решение также будет работать для вас, вы можете поддержать и принять это также :) – mdml
Ok nevermind Я соглашусь с вами как правильно, с этим правилом редактирования! Благодаря :) – tomtomtom