文章目录
在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,则表示分别向西、东、南、北扩张相应的角度。