有问题关于ggplot2
不能绘制具有空洞的多边形形状。
这是因为,如果点的顺序不正确,最终的图形看起来很糟糕,通常在甜甜圈形状内部会出现剪切/修剪线。
我已经阅读了很多关于顺序的重要性的文章,但我无法迈出下一步。我有一个包含26个要素的SpatialPolygonsDataFrame
(来自raster::rasterToPolygons(dissolve=T)
),我想用ggplot
绘制它。
以下是发生的情况 -
r3.pol <- rasterToPolygons(r3, dissolve=T)
r3.df <- fortify(r3.pol)
names(r3.df) <- c('x','y','order','hole','piece','ID','group')
p <- ggplot(r3.df)
p <- p + geom_polygon(mapping=aes(x=x,y=y,group=ID), fill='red')
p <- p + coord_equal()
我看到这个输出: 虽然应该是这样的,使用
plot(r3.pol)
:
我该如何让这个工作呢?我尝试了几个小时,但我无法重新排序r3.df
。此外,r3.df$hole
中的信息是否有用?它是由函数fortify
返回的,用于表示孔洞(我想是这样的)。附带问题:我如何将我的r3.pol SpatialPolygonsDataFrame传给你,以便您可以自己尝试一下?我记得在这里看到过对象的长、可重复的"转储",但我不知道如何做。
我在这里保存了多边形数据框。我无法使用
dput
保存它,抱歉。您可以使用load
获取它。
dput(dataSample)
的输出粘贴到你的问题中。 - eipi10