pyGMT绘图区域

文章目录

在PyGMT的很多绘图函数中都会用到region参数,用以设置绘图范围。由于地球环境的多样性,所以这个参数的可设值也非常繁多,需要条分缕析地说清楚。下面介绍几组常用的规则。

指定矩形

首先,在绘图的时候,大部分图窗都是矩形的,所以在地图上截取出一个矩形区域,是一种非常直接的需求。而一个矩形有4条边,对于地球上的经纬度坐标来说,需要两个经度和两个纬度就可以划定范围。对于region这个参数而言,提供了列表和字符串两种方式来设置这四个数值,示例如下,其设置顺序是西东南北。

python 复制代码
fig = pygmt.Figure()
fig.coast(
    region="117/124/36.5/41.5",
    # region=[117, 124, 36.5, 41.5]
    land="lightgray",
    water="white",
    borders="1/0.5p",
    shorelines="1/0.5p",
    frame="ag",
)
fig.show()

全局绘图

当region为d或者g时,将绘制全球地图,二者的区别是,前者从180°W开始绘制,后者则从0°E开始,下面仅以"g"为例,绘制世界地图

python 复制代码
fig = pygmt.Figure()
fig.coast(
    region="g",
    projection="Cyl_stere/12c",
    land="darkgray",
    water="white",
    borders="1/0.5p",
    shorelines="1/0.5p",
    frame="ag",
)
fig.show()

ISO代码

region还可以根据ISO 3166-1α2中的指定来绘制地图,这个标准用两个字母来指代国家,例如cn表示中国,jp表示日本,ru表示俄罗斯。

python 复制代码
fig = pygmt.Figure()
fig.coast(
    region="RU",
    projection="M12c",
    land="lightgray",
    water="white",
    borders="1/0.5p",
    shorelines="1/0.5p",
    frame="ag",
)
fig.show()

出图如下

此外,在国家代码后面添加 + r i +ri +ri,则地图会向外扩张 i ° i° i°,例如ru+r3表示俄罗斯地图向外扩张3°。

如果添加 + r L / B +rL/B +rL/B,则地图经度方向扩张 L ° L° L°,维度方向扩张 B ° B° B°,例如ru+r3/5表示俄罗斯地图沿着经度方向扩张3°,沿着唯独方向扩张5°。

如果+r后面接上w/e/s/n,则表示分别向西、东、南、北扩张相应的角度。

相关推荐
小小张说故事2 小时前
Python 的 a[1:5:2] 到底切出了什么?拆开 slice 对象、__getitem__ 与负步长那次反向
python
wuyk5552 小时前
PyQt6-第15讲-数据可视化QChart
python·ui·信息可视化·pyqt
天天被压力3 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
日日大王学编程3 小时前
2026主流AI Agent产品分类、核心差异与技术特性全解析
人工智能·后端·python
天天被压力3 小时前
【A股分钟级高频数据完全手册 #03】股票历史1分钟K线数据接口怎么用:Pro版批量拉取与本地缓存
java·人工智能·python
vjmap15 小时前
AI 智能体调用绘图工具画矢量地图:唯杰 AI 地图绘制上线,支持 MCP 接入 Cursor、Claude Code
gis·agent·mcp
武天旭18 小时前
AI安全--AI大模型的毒性偏见与安全对齐实践
人工智能·python·深度学习
视觉小萌新19 小时前
AI Class 3 · Chapter 2-3:函数、异常、文件读写+JSON / JSONL 读写(小白版)
人工智能·python·json
小小张说故事20 小时前
Python 的 obj.x 到底按什么顺序找?拆开数据描述符、实例字典和 __getattr__ 那条优先级链
python
用户114818678948421 小时前
水印的实现方式逻辑
前端·python