You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言绘制地图时经纬度轴未显示,如何使其显示?

解决ggplot2绘制sf全球地图不显示经纬度轴数值的问题

你只需在绘图代码中添加坐标轴刻度设置,并确保轴文本可见,修改后的代码如下:

library("ggplot2")
library("sf")
library("rnaturalearth")
library("rnaturalearthdata")

world <- ne_countries(scale = "medium", returnclass = "sf")

ggplot(data = world) +
  geom_sf() +
  # 设置经度轴刻度,每隔60度显示一个刻度
  scale_x_continuous(breaks = seq(-180, 180, 60)) +
  # 设置纬度轴刻度,每隔30度显示一个刻度
  scale_y_continuous(breaks = seq(-90, 90, 30)) +
  # 确保轴文本可见(默认可能因全局主题或坐标系设置被隐藏)
  theme(axis.text = element_text(color = "black"))

原理说明

  • 绘制sf对象时,ggplot2默认使用coord_sf()处理地理坐标系,对于全球范围的地图,默认可能不显示轴刻度标签,通过scale_x_continuous()和scale_y_continuous()可以手动指定刻度间隔。
  • 如果你的R环境全局主题设置了轴文本透明或隐藏,theme(axis.text = element_text(color = "black"))可以强制显示轴文本。

你也可以通过显式调用coord_sf()配合坐标轴设置实现相同效果:

ggplot(data = world) +
  geom_sf() +
  coord_sf(expand = FALSE) +
  scale_x_continuous(breaks = seq(-180, 180, 60)) +
  scale_y_continuous(breaks = seq(-90, 90, 30))

内容的提问来源于stack exchange,提问作者tassones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:12:10