Javascript 如何在图表中添加图例?
如何将图例添加到图表()?我试图按如下方式定义图例,但随后图表消失(请参阅)Javascript 如何在图表中添加图例?,javascript,d3.js,Javascript,D3.js,如何将图例添加到图表()?我试图按如下方式定义图例,但随后图表消失(请参阅) 以下是问题列表: 没有colorScaleDomain.quantiles()。它应该是colorScale.quantiles() 在没有z索引的SVG中,元素的顺序非常重要。所以,你的传奇 legend.enter().append("g") .attr("class", "legend"); …应位于图表的绘图代码之后。但由于第三个问题,这一步骤甚至可以被忽略: 您的图例在SVG之外。我纠正了这一点:
以下是问题列表:
colorScaleDomain.quantiles()
。它应该是colorScale.quantiles()
legend.enter().append("g")
.attr("class", "legend");
var svg = d3.select("body").append("svg")
.attr("width", diameter + 200)//adding some space in the SVG
这是您最新的小提琴:谢谢。如果我需要在图例中显示绝对数字,该怎么办?另外,
colorScale
已经定义为分位数:ar colorScale=d3.scale.quantile().domain(colorScaleDomain).range(colors)代码>。我有点误解了为什么需要在.data([0].concat(colorScale.quantiles()),函数(d){return d;})中再次运行colorScale.quantiles()
代码>?分位数()
是刻度<代码>分位数()
返回分位数。他们不一样。哦,我不知道。很抱歉无论如何,如果你能指出如何在图例中获得绝对数,我将不胜感激。只需定义你的数组。好的,我明白了。如果我设置var colorScaleDomain=[30010001800250030003500]代码>,然后我得到绝对数。谢谢然而,问题是,所有的颜色都是相同的,尽管比例似乎是正确的。请看这个:
var svg = d3.select("body").append("svg")
.attr("width", diameter + 200)//adding some space in the SVG