- 积分
- 26140
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-9-4
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 灭火器 于 2024-1-4 22:32 编辑
模仿 GMT 或者说 M_Map 的黑白相间边框风格画中国地图。用到的自制包见 https://github.com/ZhaJiMan/frykit
原理很简单,就是找出刻度的位置,然后在刻度之间画黑白条条。不过目前只支持 PlateCarree 投影的地图,不知道怎么在兰伯特投影那种扇形图里整。
好羡慕隔壁 GMT 的出图效果啊
- '''
- time: 2024-01-04
- author: 灭火器
- data: https://www.naturalearthdata.com/downloads/50m-raster-data/50m-cross-blend-hypso/
- '''
- import numpy as np
- import matplotlib.pyplot as plt
- import cartopy.crs as ccrs
- import frykit.plot as fplt
- im = plt.imread('./HYP_50M_SR_W/HYP_50M_SR_W.tif')
- crs = ccrs.PlateCarree()
- fig = plt.figure()
- ax = fig.add_subplot(projection=crs)
- ax.imshow(im, extent=[-180, 180, -90, 90], transform=crs)
- fplt.add_cn_province(ax, lw=0.4)
- fplt.add_nine_line(ax, lw=0.4)
- fplt.set_extent_and_ticks(
- ax=ax,
- extents=[70, 140, 0, 60],
- xticks=np.arange(-180, 181, 10),
- yticks=np.arange(-90, 91, 10)
- )
- ax.tick_params(labelsize='small')
- fplt.gmt_style_frame(ax)
- fplt.add_compass(ax, 0.92, 0.88, size=20, style='circle')
- map_scale = fplt.add_map_scale(ax, 0.05, 0.1)
- map_scale.set_xticks([0, 500, 1000])
- map_scale.set_xticks([250, 750], minor=True)
- fplt.gmt_style_frame(map_scale, width=4)
- fig.savefig('./map.png', dpi=300, bbox_inches='tight')
复制代码
|
|