我正在编写一些svg,以便以后进行Inkscape编辑。另外,我想在下拉菜单中将要显示的组显示为图层。但是目前,当点击时,我只看到(root)
而没有更多,而我实际上有12层应该产生12行起来。
我目前正在做:
svg.append("g")
.attr("groupmode","layer")
.attr({'id':'L1_borders','label':'L1_borders'})
但它不起作用(see & download)。
如何编写svg图层以便它们出现在Inkscape图层下拉菜单中?
答案 0 :(得分:1)
打开Inkscape GUI,创建一个新图层,并检查它表明,由于某些原因,Inkscape添加了命名空间" inkscape:"在少数几个按键之前,例如:
所以反映这种行为的D3代码应该是:
svg.append("g")
.attr("inkscape:groupmode","layer")
.attr({'id':'L1_borders','inkscape:label':'L1_borders'})
这让我很烦,因为它不太可能成为标准。烦。
实际上,即使是这样的添加也会被D3js清理干净,我完全支持这个大胆的举动!
然而,我需要这些。我最终做了一个小小的黑客:
svg.append("g")
.attr(":inkscape:groupmode","layer")
.attr({'id':'L1_borders',':inkscape:label':'L1_borders'})
D3js清理第一个...:
并离开inkscape:label
。它然后工作。通过前。完成L0& L1:
现在可以在下拉GUI图层下拉菜单中将图层作为可点击行进行访问。
哦,丑陋顽皮的非标准黑客~~~