我有一个按部门包含法国人口的 CSV 文件。我可以正确显示以人口密度着色的地图,但我遇到了相关图例的问题。
您可以在此处查看当前结果:http: //i.stack.imgur.com/Y26JT.jpg
加载 CSV 后,这是我添加图例的代码:
legend = svg.append('g')
.attr('transform', 'translate(525, 150)')
.attr('id', 'legend');
legend.selectAll('.colorbar')
.data(d3.range(9))
.enter().append('svg:rect')
.attr('y', function(d) { return d * 20 + 'px'; })
.attr('height', '20px')
.attr('width', '20px')
.attr('x', '0px')
.attr("class", function(d) { return "q" + d + "-9"; })
.attr('stroke', 'none');
legendScale = d3.scale.linear()
.domain([0, d3.max(csv, function(e) { return +e.POP; })])
.range([0, 9 * 20]);
legendAxis = d3.svg.axis()
.scale(legendScale)
.orient('right')
.tickSize(1);
legendLabels = svg.append('g')
.attr('transform', 'translate(550, 150)')
.attr('class', 'y axis')
.call(legendAxis);
颜色是使用 ColorBrewer CSS ( https://github.com/mbostock/d3/tree/master/lib/colorbrewer )获得的
我有两个问题:
- 我的轴的每个值都没有显示连字符“-”(一条 SVG 线)
- 我无法选择轴中值的数量,我希望在每个色块的开头都有一个。
提前感谢您的帮助。