我是D3中的新手,我正在尝试在图例文字的左侧设置符号。图例位于图形的右侧,并且图例的所有文本均已正确放置,但我无法在其左侧找到与图例相对应的符号。
定位图例并尝试使用符号进行操作的功能是:
setLegend(canvas, symbols, width, offset_right, height) {
canvas
.selectAll("legends")
.data(symbols)
.enter()
.append("text")
.attr("transform", function(d, i) {
let x = width - offset_right + 50;
let y = height / 2 - 100 + i * 24;
return "translate( " + x + "," + y + ")";
})
.attr(
"d",
d3
.symbol()
.type(function(d) {
return d.symbol;
})
.size("75")
)
.style("text-anchor", "left")
.text(d => {
return d.stats;
})
.attr("fill", "#FFFFFF")
.style("font-size", "10pt")
.style("font-weight", "bold"); }
您可以在此屏幕截图中查看图例的正确位置,但左侧没有任何符号。
您可以在codesanbox中检查开发的所有代码:
我在做什么错?
现在,您正在为文本元素设置一个名为d
的属性,该属性无效。另外,您没有附加任何路径。