如何修改地图坐标轴刻度线与标签的默认间隔?
调整ggplot sf地图的经纬度刻度间隔
你之前用theme(axis.ticks)、theme(panel.grid)这类设置没用,是因为这些只能调整刻度线/网格的样式(比如粗细、颜色),没法控制刻度的位置和标签间隔。要实现每1度显示一次刻度,得用scale_x_continuous()和scale_y_continuous()来手动指定刻度点。
修改后的代码如下:
world <- ne_countries(scale = "large", returnclass = "sf") north_america <- c("Canada", "United States of America") na_map <- subset(world, name %in% north_america) ggplot(data = na_map) + geom_sf(fill = "lightgrey") + # 手动指定经度刻度:从-130到-122,每1度一个刻度 scale_x_continuous(breaks = seq(-130, -122, 1)) + # 手动指定纬度刻度:从46到49,每1度一个刻度(避开45.7的小间隔) scale_y_continuous(breaks = seq(46, 49, 1)) + theme_dark()
补充说明:
- 经度范围是
-130到-122,用seq(-130, -122, 1)生成每1度的刻度点 - 纬度范围是
45.7到49.3,从46开始到49设置每1度的刻度,避免显示45.7附近的半度刻度 - 如果需要保留45度或50度的刻度,直接调整
seq()的起始/结束值即可,比如seq(45, 49, 1)
(当前生成的地图:显示纬度间隔0.5度、经度间隔2度的北美局部区域)
内容的提问来源于stack exchange,提问作者blitz1259
相关产品推荐
相关产品推荐

