【发布时间】:2020-03-05 10:01:11
【问题描述】:
我有一个由两行组成的 d3.js v4 图表。在一条线上(下面的绿色线)我有一个焦点元素,其中一个圆圈在焦点上创建并显示相关数据。
对于橙色线,我希望默认情况下在每个数据点上显示圆圈(不在焦点上),将鼠标悬停在圆圈上应该会在那里显示橙色线的值。
我在网上搜索了解决方案,但我发现的只是单线图表和/或焦点元素,我无法根据我的目的对其进行修改。我可能遇到了 10 个不同的错误,但从未设法让圆圈显示出来。
为了清楚起见,橙色线上的每个数据点都应该有一个圆圈(上面的示例中大约有 20 个数据点),圆圈应该始终显示 - 并且只有在将鼠标悬停在圆圈上时,a文本框应显示包含数据点的值。
这是我当前的代码:
https://jsfiddle.net/a6w89xhj/
橙色线添加为:
eps_data.forEach(function(d) {
d.date = parseTime(d.date);
d.value = +d.value;
});
var orangeline = d3.line()
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.value); });
g.append("path")
.data([eps_data])
.attr('fill', 'none')
.attr('stroke', '#ff5628')
.attr("class", "line")
.attr("d", orangeline);
在此处添加圈子不起作用。出于我的目的,将其添加为焦点元素是不可接受的。所以我被困在这一点上。
【问题讨论】:
标签: javascript d3.js