我在D3中做点图,我想沿右Y轴添加值。我之前在许多图表中都这样做过,添加标签很简单,但由于某种原因,这个特定的图表会产生很多问题。
我无法获得要在右轴上显示的点的值。
jsfiddle: 单击图表即可显示。
附加到右轴的值标签的相关代码:
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + (width + 10) + " ,0)")
.call(yAxis1)
.selectAll('text')
.text(function(d){ return xScale(d.value); });
答案 0 :(得分:2)
使用序数轴将域值绑定到轴刻度。因此,比例域应为:
var yScale1 = d3.scale.ordinal()
.domain(data.map(function(d) { return d.value; })) //<-- use '.value'
.rangeRoundPoints([0, height]);
然后您的y轴呼叫变为:
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + (width + 10) + " ,0)")
.call(yAxis1);
更新了fiddle。