【发布时间】:2018-07-12 01:57:47
【问题描述】:
我的地图有一个线性渐变图例。 x 轴值是根据最小值计算的
和来自基础数据的最大值。我从这个网站改编了这个传说:
https://www.visualcinnamon.com/2016/05/smooth-color-legend-d3-svg-gradient.html
当用户从下拉列表中选择“字段条件”时,会显示图例。然而,当 用户从下拉列表中选择一个“状态”,所有刻度线的文本都会消失。用户时同样的事情 从另一个下拉列表中选择一个“县”。我没有运气试图解决这个问题。
我正在计算刻度线值(显示为文本),如下所示:
var dataRange = getDataRange();
var min = parseFloat(dataRange[0].toFixed(3));
var max = parseFloat(dataRange[1].toFixed(3));
var legendW = 160, legendH = 20;
//create tick marks
var legendX = d3.scaleLinear()
.domain([min, max])
.range([0, legendW]);
var axis = d3.axisBottom(legendX);
d3.select("#svgLegend")
.attr("class", "axis")
.attr("width", legendW)
.attr("height", legendH * 2)
.append("g")
.attr("id", "g-legend")
.attr("transform", "translate(2," + legendH + ")") //margin.left; height/2
.call(axis);
有关工作示例,请参阅:http://realtimeceap.brc.tamus.edu
【问题讨论】:
标签: dictionary d3.js legend