所以我的屏幕上有这样的图像:
我已经查看了创建条形图的示例,但我遇到的问题是从负数到零到正数绘制图表。我想知道每行是否应该是 3 个条(负数到零,平均虚线矩形,然后从平均值到最大值)。
这有点像蜡烛图,但是是水平的。
任何帮助将不胜感激。
这是我迄今为止所取得的成就的一个 fiddle :http://jsfiddle.net/jLjPz/
最佳答案
我已经修改了您的 jsfiddle,使其看起来与您提供的图像相似。关于我的更改需要注意的一些事项:
对于线性刻度,您可以将负数和正数输入到数组中。因此,您不应使用 .domain([0,100])
,而应使用 .domain([-100,100])
。
您可以使用此比例来映射您的 d[0]
和 d[1]
,以便在绘制矩形时显示的尺寸与您的轴尺寸正确。
最后,我做了一些数学运算来获取您的 [start, width] 值,使它们能够与比例很好地配合。
x(d[0])
是每个矩形的正确缩放的左侧位置。
x(d[1]+d[0])-x(d[0])
是每个矩形的正确缩放宽度。
x(d[1]+d[0])-x(d[0]))/2+x(d[0])
是矩形的正确缩放中点。
希望这有帮助!
关于javascript - 以负值开头的 d3.js bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12359882/