d3.js - 在 d3js 条形图中,我想要固定条形宽度

标签 d3.js

http://bl.ocks.org/d3noob/8952219

我想固定条形尺寸宽度..

从上面的例子我已经改变了代码

 svg.selectAll("bar")
      .data(data)
    .enter().append("rect")
      .style("fill", "steelblue")
      .attr("x", function(d) { return x(d.date); })
      .attr("width", x.rangeBand())
      .attr("y", function(d) { return y(d.value); })
      .attr("height", function(d) { return height - y(d.value); });


svg.selectAll("bar")
      .data(data)
    .enter().append("rect")
      .style("fill", "steelblue")
      .attr("x", function(d) { return x(d.date); })
      .attr("width", 50)
      .attr("y", function(d) { return y(d.value); })
      .attr("height", function(d) { return height - y(d.value); });

但是标签没有移动到正确的位置,条形也重叠了

最佳答案

您必须更改 range()您的 x缩放,以适应您的条形宽度值:

var x = d3.scale.ordinal().rangeRoundBands([0, width], .05);

到(如果你想要 50px 作为条宽)
var x = d3.scale.ordinal().range([0, data.length * 50]);
range()方法用于定义比例尺的显示空间。

关于d3.js - 在 d3js 条形图中,我想要固定条形宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44404808/

相关文章:

javascript - aster 图中重叠的标签

javascript - 使用新数据更新 D3 流图

javascript - D3 值键的匹配方式是否与使用 enter() 时默认索引号的匹配方式相同?

javascript - 如何映射/合并不同结构的对象

javascript - 如何使用 D3.js 在条形图中创建带有值的百分比差异箭头线

javascript - 在折线图中的多条线上绘制点

javascript - 如何画一个简单的有向图

javascript - D3.js v4 圆半径过渡未按预期工作

javascript - 如何用d3 js解析网页音频数据

javascript - D3.js Y 轴上具有相对最小值和最大值的折线图