Я пытаюсь создать прямоугольник на основе json.Вставить текст в Rectangle - D3.js
Ниже Fiddle -
window.onload = function() {
var links = [
{ "source": "Initiate", "target": "Dept Approver", "status" : "completed", "type" : "process" },
{ "source": "Dept Approver", "target": "Section Approver", "status" : "completed", "type" : "process" },
{ "source": "Section Approver", "target": "Division Approver", "status" : "completed", "type" : "process" },
{ "source": "Division Approver", "target": "End", "status" : "pending", "type" : "process" }];
var svgContainer = d3.select("#chart").append("svg")
.attr("width", 800)
.attr("height", 800)
.style("background", "#93A1A1");
var rectangles = svgContainer.selectAll("rect")
.data(links)
.enter()
.append("rect");
var x = 50;
var y = 50;
var rectAttributes = rectangles
.attr("x", function (d) {
x = x + 150;
return x;
})
.attr("y", function (d) { return y; })
.attr("height", function (d) { return '100'; })
.attr("width", function (d) { return '100'; })
.style("fill", function(d) {
if (d.status == "completed") {
return "green";
};
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<body>
<h2>D3</h2>
<div id="chart"></div>
</body>
Следующий шаг будет накладывать текст в "источнике" атрибут JSON над прямоугольниками. Например, первый прямоугольник должен иметь метку «Initiate», внутри второй метки прямоугольника должен быть «Dept Approver» и т. Д.
Я пробовал это с использованием .text, но это не сработало. Может кто-то, пожалуйста, помогите мне с этим.
Спасибо
я сделал что-то с добавлением текста прямоугольники в [другой вопрос] (http://stackoverflow.com/questions/17558649/d3-tree-layout-separ-between-nodes-using-nodesize/17604710 # 17604710) Может быть, это поможет? – aug
Спасибо за ссылку – kayasa