gpt4 book ai didi

d3.js 条形图,每条记录带有正负条(赢/输)

转载 作者:行者123 更新时间:2023-12-04 04:38:48 25 4
gpt4 key购买 nike

我想在 d3.js 中制作一个条形图,每个项目或行都有正条和负条,如下所示:

enter image description here

它有点像谷歌金融“行业摘要”图表(http://google.com/finance)

enter image description here

任何人都可以指出我这种图表的 d3.js 示例吗?我知道这里的“带有负值的条形图”示例:http://bl.ocks.org/mbostock/2368837

如果有一种相对简单的方法来解释如何修改该示例以完成我想要的,那也可以。

谢谢!

最佳答案

这是我可以做的:

enter image description here

基础是每个项目有两个值。为简化起见,我们可以说所有值都必须为正数,第一个将显示在右侧,第二个将显示在左侧。

来自 example you provided ,我们将只绘制我们添加的第二个值:

data = [
{name: "A",value: 1,value2: 2},
...
]

我们还将修复域(您可以在之后编写一个函数来很好地完成它):
x.domain([-10,10])

最后,我们将绘制第二个条形(在左侧):
svg.selectAll(".bar2")
.data(data)
.enter().append("rect")
.attr("class", "bar2")
.attr("x", function (d) {
return x(Math.min(0, -d.value2));
})
.attr("y", function (d) {
return y(d.name);
})
.attr("width", function (d) {
return Math.abs(x(-d.value2) - x(0));
})
.attr("height", y.rangeBand());

此代码只是从我替换的示例中复制粘贴 d.value来自 -d.value1.bar来自 .bar2为类(class)。

您还必须修改 x 轴格式以获得“75、50、25、0、25、50、75”。

jsFiddle: http://jsfiddle.net/chrisJamesC/vgZ6E/

关于d3.js 条形图,每条记录带有正负条(赢/输),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19236682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com