gpt4 book ai didi

r - 在ggplot2中绘制形状文件

转载 作者:行者123 更新时间:2023-12-04 10:16:00 34 4
gpt4 key购买 nike

我试图弄清楚如何在 gglot2 中显示我的完整 map ,包括岛屿 r_base 和 tmap 都能够显示岛屿,但 ggplot2 无法将岛屿与其他水体区分开来......
enter image description here .

我的问题是如何让岛屿出现在ggplot2中?

请参阅我在下面使用的代码。

library(ggplot2)
library (rgdal)
library (rgeos)
library(maptools)
library(tmap)

加载称为 iho 的波斯湾形状填充
PG <- readShapePoly("iho.shp")
形状文件可在此处获得

http://geo.vliz.be:80/geoserver/wfs?request=getfeature&service=wfs&version=1.0.0&typename=MarineRegions:iho&outputformat=SHAPE-ZIP&filter=%3CPropertyIsEqualTo%3E%3CPropertyName%3Eid%3C%2FPropertyName%3E%3CLiteral%3E41%3C%2FLiteral%3E%3C%2FPropertyIsEqualTo%3E

用 r_base 绘图
Q<-plot(PG)
对应图A

用 tmap 绘图
qtm(PG)
对应图B

转换为数据框
AG <- fortify(PG)
使用 ggplot2 绘图
ggplot()+ geom_polygon(data=AG, aes(long, lat, group = group),
colour = alpha("darkred", 1/2), size = 0.7, fill = 'skyblue', alpha = .3)

对应图C

最佳答案

你需要告诉 ggplot 你想要用不同的颜色填充孔..例如:
ggplot()+ geom_polygon(data=AG, aes(long, lat, group = group, fill = hole), colour = alpha("darkred", 1/2), size = 0.7) + scale_fill_manual(values = c("skyblue", "white")) + theme(legend.position="none")
也试试 readOGR() rgdal 包中的函数而不是 readShapePoly()当您阅读形状文件时,它会保留所有投影和基准信息。

关于r - 在ggplot2中绘制形状文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137001/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com