D3:合并内部svg路径?

Mik*_*der 18 javascript svg d3.js

我有一个svg由许多不同path对象组成的元素,每个对象代表一个美国州. 在此输入图像描述

http://jsfiddle.net/jGjZ2/

我想将东部地区(黄金)合并为单个路径对象,没有可见的划分.

最终结果应如下所示(忽略不准确性): 在此输入图像描述

我正在使用D3.没有GeoJSON或TopoJSON数据 - 地图是直接嵌入在html中的svg(参见jsfiddle).

非常感谢!

mbo*_*ock 20

假设您可以忽略操纵现有SVG图像的规定限制(这似乎是一种任意限制,因为在更易于操作的格式中可以随时获得制图边界......),您可以使用topojson.mesh合并多个多边形.但请注意,此方法有一些限制,如本示例所述:

合并的多边形

另一种简单的方法是只绘制两次突出显示的多边形:一次是粗黑色笔划而没有填充,第二次是橙色填充,没有笔划.这实现了相同的效果,无需拓扑操作:

合并多边形

我想如果你真的不得不这样做,你可以通过提取矢量数据来进入SVG元素并做同样的事情,但是如果你从干净的数据开始会更容易.