나는 비효율적이라고 생각합니다. 전 배열에서 전설을 만들려고 노력하고 있는데,이 일을하기에는 너무 많은 글을 쓰고있는 것처럼 보입니다. 누군가 최적화 할 수 있는지 말해 줄 수 있습니까?d3.js로 범례 만들기
http://jsbin.com/foqesivice/edit?js,console,output
var data = [
{name: "AnotherLong"},
{name: "BigData"},
{name: "What"},
{name: "Something"},
{name: "Smalls"}
];
var margin = {top: 10, right: 10, bottom: 10, left: 10};
var color = d3.scale.category20c();
var svg = d3.select("body").append("svg")
.attr("width", 400 - margin.left - margin.right)
.attr("height", 1000 - margin.top - margin.bottom)
var g = svg.selectAll(".row")
.data(data)
.enter().append("svg:g")
var rectangles = g.selectAll(".cell")
.data(data)
.enter().append("svg:rect")
.attr("width", 19)
.attr("height", 19)
.attr("transform", function(d, i) { return "translate(0," + i * 20 + ")"; })
.style("fill", function(d, i){return color(i);})
var text = g.selectAll(".text")
.data(data)
.enter().append("svg:text")
.attr("x", 24)
.attr("y", 9)
.attr("dy", ".35em")
.attr("transform", function(d, i) { return "translate(0," + i * 20 + ")"; })
.text(function(d){return d.name;})
편집 :
날 귀찮게 또 한가지. 어떤 이유로 든 내 스타일이 모두 굵은 것처럼 보입니다. 나는 어떤 스타일도 정의하지 않았다. 기본 동작입니까?
예, 당신의 대답은 나에게 더 낫게 보입니다. 나는 d3으로 작업 해 왔던 것과 더 흡사합니다. 고맙습니다! – konrad