gpt4 book ai didi

javascript - D3.js 将 tspan append 到文本元素

转载 作者:行者123 更新时间:2023-12-03 05:01:20 25 4
gpt4 key购买 nike

我有一个 D3 条形图。当我将鼠标悬停在其中一个栏上时,会出现文本。

但我希望另一行文本也出现。为此,我需要 append 一个 元素。

我看过示例,但无法将 append 到文本元素。

图表是 here ,以及 github 上的完整代码.

append “text”并 append “tspan”,

  g.selectAll(".bar")
.data(data)
.enter().append("rect")
.style("fill", function(d) {
return colorScale(d.intensity);
})
.attr("class", "bar")
.attr("x", function(d) {
return x(d.date);
})
.attr("y", function(d) {
return y(d.distance);
})
// .attr("width", x.bandwidth())
.attr("width", function(d) {
return dur(d.duration);
})
// .attr("width", 6)
.attr("height", function(d) {
return height - y(d.distance);
})
.on("mouseover", handleMouseOver)
.on("mouseout", handleMouseOut);

t = g.append('text')
.attr('x', 9)
.attr('dy', '.35em');

ts = g.append('tspan')
.attr('x', 9)
.attr('dy', '.35em');

JS函数handleMouseOver

  function handleMouseOver(d) {
d3.select(this)
.style("fill", "lightBlue")
g.select('text')
.attr("x", x(d.date) + dur(d.duration + 5))
.attr("y", y(d.distance) + 10)
.text(d.distance + "m");
ts.text("blah")
.attr("x", x(d.date) + dur(d.duration + 5))
.attr("y", y(d.distance) + 30);
}

最佳答案

尝试以下操作:

append :

t = g.append('text')
.attr('x', 9)
.attr('dy', '.35em');

ts = g.append('tspan')
.attr('x', 9)
.attr('dy', '.35em');

然后在 hanldeMouseOver 上:

ts.text("blah")
.attr("x", ...)
.attr("y", ...);

关于javascript - D3.js 将 tspan append 到文本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42215205/

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