D3的规模不能正常工作

时间:2013-01-30 20:18:47

标签: d3.js

好吧,我从D3开始,我正在尝试创建一个垂直条形图。

我真的不知道发生了什么,但是有些事情对我来说并不像预期的那样(可能是因为我只是个问题上的菜鸟)。

我正在使用线条刻度,与轴的效果非常好,但它会错误计算条形的高度,例如,不会显示较高的值(因为结果值较低)。

我用d3.max来确定范围。我真的不知道发生了什么。

var yScaleLeft = d3.scale.linear()
    .domain([0, d3.max(stats)])
    .range([realHeight, 0]);

.attr("height", function(d) {
    return yScaleLeft(d);
});

以下是代码:http://jsfiddle.net/aKhhb/请看 * Scales * // Stats bars

(忘掉吧台的x-alignement,稍后我会看到,我想正确设置它的高度)

非常感谢! Y saludos desde智利:)

1 个答案:

答案 0 :(得分:1)

问题是您的输入和输出范围是镜像的 - 也就是说,最大输入值映射到最小输出值。这很好,但在计算yheight属性时需要考虑它。基本上,你已经计算了两个逆转。

固定小提琴here。我还通过将您的边距和条宽的一半添加到计算的x位置来修复x轴。哦,你在进行计算时不需要parseInt(),只有当你真的想从字符串中解析一个整数时。