gpt4 book ai didi

javascript - 访问 D3 多线图表上工具提示中的数据

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

这是我的数据。

var data = [
{
"label": "branch-1",
"values": [
{ "day": "Monday", "value": 20},
{ "day": "Tuesday", "value": 18},
{ "day": "Wednesday", "value": 29},
{ "day": "Thursday", "value": 31},
{ "day": "Friday", "value": 37},
{ "day": "Saturday", "value": 25},
{ "day": "Sunday", "value": 19}
]
},
{
"label": "branch-2",
"values": [
{ "day": "Monday", "value": 32},
{ "day": "Tuesday", "value": 29},
{ "day": "Wednesday", "value": 37},
{ "day": "Thursday", "value": 41},
{ "day": "Friday", "value": 31},
{ "day": "Saturday", "value": 28},
{ "day": "Sunday", "value": 17}
]
}
]

我试图将标签添加到工具提示中,但是收到错误“未定义”。我还需要在每行末尾添加标签。类似地,名字在 this例子。但我找不到如何实现这一目标。

我的代码的 fiddle 链接是 here .

最佳答案

要在工具提示中获取标签,您需要在各个数据点中包含标签名称:

修改数据处理 block 如下:

data.forEach(function (kv) {
var labelName = kv.label;
kv.values.forEach(function (d) {
d.value = +d.value;
d.label = labelName;
});
});

要添加标签,请添加以下部分:

city.append("text")
.attr("transform", function(d) { var dayExt = d.values[d.values.length - 1].day; var valueExt = d.values[d.values.length - 1].value; return "translate(" + x(dayExt) + "," + y(valueExt) + ")"; })
.attr("x", 3)
.attr("dy", ".35em")
.text(function(d) { return d.label });

请在这里找到完整的 fiddle :http://jsfiddle.net/prashant_11235/LY8zt/

您可以根据需要适当设置标签名称的样式。

关于javascript - 访问 D3 多线图表上工具提示中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24281045/

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