Отсутствие галочек и меток на оси при построении карты мира с помощью geom_sf () - PullRequest
2 голосов
/ 01 ноября 2019

При построении базовой карты мира я не получаю широту и долготу, чтобы показываться по осям. Я сделал пример, предоставленный 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()

Это пример кода, который генерирует широту на осях.

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()

1 Ответ

2 голосов
/ 02 ноября 2019

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)

Создано в 2019-11-02 пакетом Представить (v0.3.0)

...