gpt4 book ai didi

javascript - 将圆圈添加到直线

转载 作者:行者123 更新时间:2023-11-30 11:39:28 25 4
gpt4 key购买 nike

我是 D3 的新手,我正在做一些基本的数据输入。我很难将圆圈添加到我拥有的数据的一行中,因为我无法获得 .

var fruits = {"apple", "banana", "grapes"}

我希望图像显示这样的内容。 A line with the data embedded as circle

问题是,如果添加了更多数据,例如 var fruits = {"apple", "banana", "grapes", "mango", "orange"} 那么该行应该自动本身来拟合数据。

我用一个 id 制作了这条线,这样我就可以获得 x 和 y 坐标,但是我无法获得 x,y 的坐标以均匀地间隔圆圈。

有人可以帮我解决这个问题吗?

最佳答案

这里最好的办法是使用点刻度。在这种规模下,您会将数据数组作为域传递,并将其映射到给定范围。

在你的情况下,是这样的:

var scale = d3.scalePoint()
.domain(["apple", "banana", "grapes", "mango", "orange"])
.range([minHeight, maxHeight]);

然后,您必须使用 scale(d) 将文本和圆圈定位在 y 坐标中,d 是匿名函数中的第一个参数函数,像这样:

.attr("y", function(d){ return scale(d)})

如果您更改数据数组,添加或删除元素,比例会自动调整。

关于javascript - 将圆圈添加到直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43243841/

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