爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
123
返回列表 发新帖
楼主: clarmy

[经验总结] 如何更优雅地绘制/白化中国的地图

[复制链接]

新浪微博达人勋

 楼主| 发表于 2023-5-26 14:12:55 | 显示全部楼层
gaorui123 发表于 2023-4-4 17:22
您好,我使用那个maskout函数进行裁剪时,我使用的ax.pcolormesh而不是ax.contourf。然后就会报错: 'GeoQu ...

maskout 函数应该与 contourf 或 pcolormesh 无关的。
  1. import numpy as np
  2. from cnmaps import get_adm_maps
  3. import matplotlib.pyplot as plt

  4. lon = np.linspace(60, 150, 1000)
  5. lat = np.linspace(0, 60, 1000)

  6. lons, lats = np.meshgrid(lon, lat)
  7. data = np.random.random(lons.shape)

  8. china = get_adm_maps(level="国", record= "first", only_polygon=True, wgs84=True)

  9. maskout_data = china.maskout(lons, lats, data)

  10. plt.figure(figsize=(20,8))

  11. plt.subplot(121)
  12. plt.pcolormesh(lons, lats, data)
  13. plt.title("no maskout")

  14. plt.subplot(122)
  15. plt.pcolormesh(lons, lats, maskout_data)
  16. plt.title("maskout")
  17. plt.show()
复制代码


示例:https://cnmaps.readthedocs.io/zh_CN/latest/content/usage.html
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-5-26 15:41:53 | 显示全部楼层

感谢您的经验和学习分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-6-19 11:50:43 | 显示全部楼层
牛啊,膜拜
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-10-25 08:42:09 | 显示全部楼层
gaorui123 发表于 2023-4-4 17:22
您好,我使用那个maskout函数进行裁剪时,我使用的ax.pcolormesh而不是ax.contourf。然后就会报错: 'GeoQu ...

把collections改成collections.abc
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-10-29 17:03:58 | 显示全部楼层
我用是SURFER做白化底图文件的(后缀名为BLN)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-10-21 10:12:12 | 显示全部楼层
楼主好,我在调用draw_maps函数绘图时弹出了'MultiPolygon' object is not iterable的报错,无法直接对MULTIPOLYGON格式数据直接进行循环。尝试将for geomestry in map_polygon:修改为for geomestry in map_polygon.geoms后问题似乎得到解决。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表