python半径为3圆形区域边界曲线_Python气象绘图教程(十八)—Cartopy_8

本节提要:在cartopy下裁剪地图边界的形状

一、圆形边界的裁剪

该节内容基于cartopy官网绘图实例

Custom Boundary Shape,可以将方形的标准边框样式裁剪为圆形。

在cartopy中裁剪边界实际上是通过GeoAxes下的set_boundary命令进行的,裁剪的依据即是编程者传入的Path(路径),该命令按照Path中存储的路径点逐一连接,形成新的边框。

首先导入可能需要的库包:

import numpy as npimport matplotlib.pyplot as pltimport cartopy.crs as ccrsimport cartopy.io.shapereader as shpreaderfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTERimport matplotlib.ticker as mtickerimport matplotlib.path as mpath

然后准备一些必要命令和缩写地址等:

plt.rcParams['font.sans-serif']=['SimHei']#正常显示中文extent=[108.1,111.2,28.75,31.75]#地图范围shp_path=r'E:\shp\恩施土家族苗族自治州_行政边界\恩施土家族苗族自治州_行政边界.shp'proj= ccrs.PlateCarree() #简写投影

随后创建画布,添加地图信息:

fig = plt.figure(figsize=(4,4), dpi=500) #创建画布ax=fig.add_axes([0,0,1,1],projection=proj) #添加子图geom=shpreader.Reader(shp_path) #读取shp文件ax.add_geometries(geom.geometries(),crs=proj,facecolor=(0.9375, 0.9375, 0.859375),edgecolor='k',lw=0.5)gl = ax.gridlines(crs=ccrs.PlateCarree(), draw_labels=False,linewidth=0.7, color='k', alpha=0.5, linestyle='--')gl.xlocator = mticker.FixedLocator(np.arange(extent[0], extent[1]+0.5, 0.5))gl.ylocator = mticker.FixedLocator(np.arange(extent[2], extent[3]+0.5, 0.5))nameandstation={"恩施":[109.5,30.2],"利川":[109,30.3],"巴东":[110.34,31.04],"建始":[109.72,30.6],"宣恩":[109.49,29.987],"来凤":[109.407,29.493],"咸丰":[109.14,29.665],"鹤峰":[110.034,29.89]}for key,value in nameandstation.items():

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值