我有一个D3图表其层次结构是这样的:D3图表选择部分
svg
g <- this is row labels
g <- this is col labels
g <- this is actual chart
我的问题是,我想实际的图表部分(第3 <g>
元素)转换成PNG文件时没有行col标签。 所以基本上我需要一个d3.selection只能选择<svg>
元素和它的第三个<g>
元素,前面的2个<g>
被从选择中剥离,所以当这个选择被转换为XML字符串并且在<canvas>
上绘制时,没有标签。
目前我实现超过XML做文本处理:
var source = (new XMLSerializer()).serializeToString(d3.select("svg").node());
var xmldoc = $.parseXML(source);
$(xmldoc).find("g:eq(1), g:eq(2)").remove();
var src2 = (new XMLSerializer()).serializeToString(xmldoc);
,但我想知道是否有更方便,更优雅的方式。谢谢。
为何不给克元素类值,然后通过选择类。或唯一的ID并通过ID选择。 –