d3.js - 有没有更好的方法来标记每个组?
问题描述
我想给每个组贴上标签有没有更好的方法呢?现在我正在这样做:
const svgViewport = d3.select("body")
.append("svg")
.attr("width", 150)
.attr("height", 150);
let myData = [
[{
x: 30,
y: 40
},
{
x: 30,
y: 60
}
],
[{
x: 70,
y: 40
},
{
x: 70,
y: 60
}
]
];
let labelData=[{name:"group1",x:20,y:30},
{name:"group2",x:70,y:30}];
const groups = svgViewport.selectAll(null)
.data(myData)
.enter()
.append("g");
const circles = groups.selectAll(null)
.data(d => d)
.enter()
.append("circle")
.attr("cx", (d) => d.x)
.attr("cy", (d) => d.y)
.attr("r", 10);
const labels=svgViewport.selectAll("g").data(labelData).append("text").text((d)=>{return d.name;}).attr("x",(d)=>{return d.x})
.attr("y",(d)=>{return d.y});
我想标记每组形状可以在不保留 labelData x 和 y 位置的情况下完成吗?
解决方案
推荐阅读
- powerbi - 无法将报告发布到 Web,无权创建嵌入代码
- python - 如何创建一个输赢字典来跟踪赢得或输掉一场比赛所需的掷骰数?
- function - 常用字符串函数的自定义函数
- node.js - 为什么我的使用 MongoDB/Heroku 的 Node.js 服务器有时会很慢?
- sqlite - 将数据从一个 sqlite 表复制到另一个
- java - java - 如何在java中打印变量并在变量名中添加索引?
- c# - 如何在不先将其保存到磁盘的情况下运行作为资源嵌入的 EXE?
- php - 将 DirectoryIterator 存储在数组中(文件夹和文件)
- c - 比较c中命令行参数的长度
- node.js - 如何传递变量以获取请求