D3在右轴上显示值作为标签

时间:2015-12-30 14:00:07

标签: javascript d3.js

我在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); });

1 个答案:

答案 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