使用 d3 将整个系列的 svg 元素附加到特定选择的最佳方法是什么。例如...首先我附加一个矩形。
tb.append("svg:rect")
.attr("width", "18")
.attr("height", "18")
.attr("y", "9")
.attr("x", (i * 20) + 5)
.attr("rx", "4")
.attr("ry", "4");
现在取决于我想附加一个图标的选项。图标可以是一系列路径或矩形或多边形。但是是动态的并且基于选项。所以我想做类似的事情:
tb.append('<path d="M9.826,4.703C8.863,3.057,7.014,2.032,5.001,2.032c-2.012,0-3.861,1.024-4.829,2.671L0,5l0.173,0.299C1.141,6.944,2.99,7.968,5.001,7.968c2.012,0,3.862-1.023,4.825-2.669L10,5L9.826,4.703z M8.451,5.189C7.764,6.235,6.441,6.888,5,6.888c-1.438,0-2.762-0.652-3.453-1.698l-0.124-0.19l0.124-0.188C2.239,3.764,3.562,3.112,5,3.112c1.441,0,2.763,0.651,3.451,1.698l0.125,0.188L8.451,5.189z"/><circle cx="4.999" cy="5" r="1.905"/>');
或者
tb.append('<polygon points="8.272,0 5.8,4.166 9,4.166 1.615,10 3.461,5 1,5 3.743,0.007"/>');
但是我不知道输入的元素类型或不同的属性。是否有一种模式可以将整个元素作为字符串插入?还是更好的模式?