gpt4 book ai didi

r - 使用 geom_sf() 绘制世界地图时缺少轴刻度和标签

转载 作者:行者123 更新时间:2023-12-04 01:38:08 26 4
gpt4 key购买 nike

在绘制基本世界地图时,我没有得到显示在坐标轴上的纬度和长度。我已经在 cran 上完成了 geom_sf() 提供的示例,并且确实显示了纬度。

这是我下面的代码。

library("ggplot2")
library("sf")
#> Linking to GEOS 3.7.2, GDAL 2.4.2, PROJ 5.2.0
library("rnaturalearth")
library("rnaturalearthdata")

world <- ne_countries(scale = "medium", returnclass = "sf")
class(world)
#> [1] "sf" "data.frame"

ggplot(data = world) +
geom_sf() +
coord_sf()

这是在坐标轴上生成 lat long 的示例代码。

nc <- st_read(system.file("shape/nc.shp", package="sf"))
#> Reading layer `nc' from data source `/Library/Frameworks/R.framework/Versions/3.6/Resources/library/sf/shape/nc.shp' using driver `ESRI Shapefile'
#> Simple feature collection with 100 features and 14 fields
#> geometry type: MULTIPOLYGON
#> dimension: XY
#> bbox: xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
#> epsg (SRID): 4267
#> proj4string: +proj=longlat +datum=NAD27 +no_defs

ggplot(nc) + geom_sf()

最佳答案

coord_sf() 仅在刻度线实际到达轴时才绘制轴刻度。在您的世界地图中,绘图面板的大小超出了地球的大小(您可以看到刻度线在绘图面板的边缘之前结束),因此没有绘制轴刻度。

解决此问题的一种方法是关闭扩展。

library("ggplot2")
library("sf")
#> Linking to GEOS 3.7.2, GDAL 2.4.2, PROJ 5.2.0
library("rnaturalearth")
library("rnaturalearthdata")

world <- ne_countries(scale = "medium", returnclass = "sf")
class(world)
#> [1] "sf" "data.frame"

ggplot(data = world) +
geom_sf() +
coord_sf(expand = FALSE)

reprex package 创建于 2019-11-02| (v0.3.0)

关于r - 使用 geom_sf() 绘制世界地图时缺少轴刻度和标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58663607/

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