【发布时间】:2017-08-29 00:33:12
【问题描述】:
我有这样的色标
var colorscale=colorbrewer['RdYlGn']['11'].reverse();
var color=d3.scaleQuantize()
.domain([0,360,1600])
.range(colorscale);
我正在尝试将该色标显示为跨越我的 SVG 底部的图例
function drawColorScale(){
var pallete=svg.append('g')
.attr('id','pallete')
var swatch=pallete.selectAll('rect').data(colorscale);
swatch.enter().append('rect')
.attr('fill',function(d){
return d;//return rgb
})
.attr('x',function(d,i){
return (i*30)+'';
})
.attr('y',function(d,i){
return (height-12)+'';
})
.attr('width','30')
.attr('height','10');
}
我想在 svg rects 中添加数字以显示每种颜色所涵盖的范围值。 color.ticks(11) 仅返回直到定义的中点 360 的值。无论我在刻度中输入什么值,我都只能返回到中点的值。
【问题讨论】:
标签: javascript d3.js svg scale