安装 https://mp.weixin.qq.com/s/GW6odDBGLPVRZTKx0YZLVg Cartopy绘图入门 在Cartopy的使用过程中,我们常常需要搭配其他库一起使用,常用的有如...coastlines:在地图上绘制海岸线。 stock_img:给地图添加低分辨率的地形图背景。 add_feature:给地图添加特征(例如陆地或海洋的填充、河流等)。...(central_longitude=180))#全球图像的中央位于太平洋的 180 度经线处 也可以在绘制线条的时候指定线宽 ax.coastlines(lw=0.3)#线条宽度0.3 在地图上添加特征...') #添加标题Cartopy Cartopy绘图进阶 在前文中提到过,Cartopy的中国地图边界是有问题的,那么在日常使用中,我们该如何避免这些问题呢?...,cartopy绘制的地图称为子图,在绘制中国地图时候,有时候由于地图大小的限制,我们无法展示部分地区如南海,常规的方法是绘制两幅地图,比如一张为全国地图,一张为局部地图,也就是常说的南海小地图。
当无地图投影时 在 python 的 matplotlib.pyplot 和 matplotlib.patches中,有很多内置的函数可以帮助我们绘制矩形、圆形、椭圆等图案。...以圆形为例,可以使用 matplotlib.patches.Circle 方法进行绘制,只需要提供圆心和半径即可。...当存在地图投影时 前面提到过,matplotlib.patches.xxxx 方法可以接收 transform 地图投影参数,但在实际使用时发现该参数在极地投影的情况下,不能实现想要的效果,建议使用gridlines...1、非极地投影 以lat-lon投影为例,令纬度0°、经度0°为圆心,15°为半径,绘制圆形: code import matplotlib.pyplot as plt from cartopy import...ax.stock_img() # 添加国界线 ax.coastlines(resolution='110m', linewidth=0.5) # 添加圆圈到地图上 circle = Circle(
install 如果你是在 windows 上使用 cartopy 的话,建议使用 conda 安装,如果安装时出现冲突提示,可以创建一个虚拟环境然后再安装。...matplotlib 可用的投影在 Cartopy 投影列表页可以查看 。...在之前的例子中,我们使用 coastlines 方法添加海岸线到地图中。 下面使用另一种投影创建地图,然后使用 stock_img 方法添加背景图片到地图中。...注意:在 PlateCarree 投影平面地图上, New York 和 Delhi 之间的蓝色线并不是直线,这是因为 Geodetic 坐标系是真正的球面坐标系,两点之间的线被定义为在球坐标,而不是...有以下几种方式可以设置 cartopy GeoAxes 的范围: 使用 set_global 方法可以绘制全球图 任何坐标系中都可以使用 set_extent 方法根据边界框来设置地图范围 也可以使用
Cartopy介绍 Python 环境下常用的地图绘制包是 Basemap,Cartopy,geopandas,KeplerGl,GeoViews等等,我以前常用的是Basemap,但无奈官方已经在2020...年更新了,官方推荐使用Cartopy作为替代。...Cartopy最初是在英国气象局开发的,目的是让科学家能够快速、方便、最重要的是准确地在地图上可视化他们的数据。...的依赖库 pip list 然后使用如下命令卸载 pip uninstall xxxx 安装 Cartopy 在cmd窗口中cd进入你存放下载好的文件的文件夹,首先卸载掉原有的低版本依赖库,由于是whl...由于Cartopy一般与matplotlib一起使用,所以我们可以顺便安装一下matplotlib库 pip install matplotlib 验证安装 新建一个python文件,我这里使用的是
为 了 更 大 限 度 地 利 用 风 能 ,应 该 对 其风 速 的 变 化 特 性 加 以 了 解 。...风 速 分 布 一 般 为 正 态 偏 态分 布 , 用 于 拟 合 风 速 分 布 的 模 型 很 多 , 而 在 风 能 计 算 中应 用 最 广 泛 的 是 两 参 数 的 威 布 尔 分 布 ,...已 有 的 研 究 表 明 ,Weibull 函 数 的 优 点 在 于它 对 风 能 密 度 评 估 有 很 大 的 适 应 性 和 简 化 性 , 尤 其 对长 期 的 风 速 数 据 有 很 好...from 《基于GIS的江苏省陆地风能资源潜力评估及微观选址》 Weibull 分布函数密度的表达式为 其中v 为风速,m/s;c 为 尺 度 参 数 ,反 映 该 风 电 场 的 平 均风速;k...1D数组 ws100fl = ws100.values.flatten() 计算与绘图 # 计算威布尔分布的参数 k, loc, c = weibull_min.fit(ws100fl, floc=0)
问题提问 在和我们课程学员平时的讨论过程中,课程学员经常会问起: 在科研地图绘制过程中,如何绘制多子图共用colorbar?...绘制南北极地图时,cartopy默认的刻度文本样式太丑了,我想要绕着环形布局的刻度文本样式 在绘制科研地图时,需要局部放大,这个怎么绘制? 如何在地图上绘制渐变颜色直方图图例?...地理多子图绘制案例,我们也在课程中进行了更新,绘制结果如下: 多子图共用colorbar 此外,我们还绘制了在一张地图上添加两个colorbar的示例: 多colorbar样式 南北极刻度标签自定义 Cartopy...我们也给出了具体绘制案例,方便大家快速学习,绘制结果如下: 多局部子图绘制 (PS:这副地图涉及的知识点非常多,大家要好好学) 地图渐变颜色直方图图例绘制 使用直方图作为地图图例的案例,在一些论文期刊中经常见到...,特别是将直方图使用渐变颜色表示,并用一个colorbar进行表示。
通过使用WRF模式的输出数据(通常是WRFOUT文件),我们可以计算并绘制LWC和IWC在空间上的分布图。...这可以帮助我们观察和分析云和降水过程中液态和冰态水的分布情况,从而更好地了解大气中的物理过程。...最后,我们使用Python中的科学计算库(如metpy、netCDF4和WRF-Python)以及数据可视化库(如Matplotlib和Cartopy)来进行数据处理、计算和绘图。...这些库提供了丰富的功能,使我们能够方便地从WRF模式的输出数据中提取所需信息,并通过绘制分布图来展示LWC和IWC的空间分布。...getvar(ncfile, "QSNOW") # 计算LWC和IWC lwc = qc * 1000 * rho iwc = (qi + qs) * 1000 * rho # 将结果转换为NumPy数组
一、地形剖面图 绘制地形剖面图之前,需要了解自己使用的地形文件的格式与属性。我使用的是从气象家园巨佬Masterpiece处白嫖来的地形文件。...第一种本质上是将数据扣出一块,只绘制这一块,速度大大提高。 为什么要插这一句嘴,实际上有助于我们在接下来绘制剖面图时理解切片操作。...在绘制地形填色时,我们使用的是ax.contourf命令,他要求输入横坐标,纵坐标,与横纵坐标有关系的z值。...可以看出,两个都变为长度为30的一维数组了。理解这个,就为后面更多维度的切片打下基础。...,说明我们的横坐标应该是纬度,纵坐标应该是高度,但是在气象上一般不使用高度,而是气压层,如925hPa、850hPa、700hPa、500hPa、200hPa等,而经度就取一个固定值,这样也能变成二维数组
今天来讲一讲在日常工作生活中我常用的几种绘制地图的方法,下面我将介绍下面这些可视化库的地图绘制方法,当然绘制漂亮的可视化地图还有很多优秀的类库,没有办法一一列举 pyecharts、plotly、folium...API plotly.graph_objects.Choroplethmapbox 来绘制 下面我们继续绘制中国地图,使用一个高级 API plotly.express.choropleth_mapbox...Python 生态系统的数据应用能力和 Leaflet.js 库的映射能力之上的高级地图绘制工具,通过 Python 操作数据,然后在 Leaflet 地图中可视化,可以灵活的自定义绘制区域,并且展现形式更加多样化...GEO 文件,我们直接出入国家名称,就可以自动匹配到地图上,非常方便 再绘制中国地图 c = ( Map() .add("测试数据", [list(z) for z in zip(Faker.provinces...,真的很给力,当然对于 Pyecharts 还有很多种玩法,就不一一介绍了 综合上面的示例,我们可以看出, Pyecharts 绘制地图最为简单,非常适合新手学习使用;而 folium 和 cartopy
=(6, 6), facecolor="w", dpi=200, layout='constrained', subplot_kw=dict(projection=map_proj) ) #将数据绘制到底图上...这样可以增加整个图像的对比度,使颜色更加饱和丰富 为什么修改单位km为m 图投影坐标系一般使用的是米为单位。直接拿千米单位的影像坐标去绘制地图,会造成非常严重的坐标错位。...因此需要提前将影像的坐标单位换算为与地图投影匹配的米单位,然后再传入投影变换,进行坐标转换到地图上。...为什么使用pcolorfast 对于绘制地图影像,pcolorfast能够提供更快速和直接的解决方案。它适合直接可视化大规模的不规则网格数据,比如常见的卫星影像等。...是地图绘制过程中的一种非常有效和高效的方法 2.绘制era5小时降水 import matplotlib.pyplot as plt import cartopy.crs as ccrs import
之前在公众号做过一个关于我国1945~2015年历史台风统计的可视化展示,发现很多有趣的数据,比如说台风登陆最多的城市是湛江。...大数据告诉你,台风最喜欢在我国哪个省市登陆 这次的文章不研究台风数据,而是尝试用Python来绘制台风路径。...主要第三方库 用到的主要工具包有pandas、numpy、matplotlib、cartopy、shapely,前三个库大家可能都熟悉,下面介绍下后两个库的使用场景。...:m/s ❞ 绘制地图 台风路径需要在地图上展示,那么如何获取地图呢?...但这里没有区别显示台风强度,一般是在.add_geometries()方法中添加参数调整。
是关于能不能在已经截取出来的省份中添加对应的dem地形呢,并且根据需要添加上需要的城市所在的地理位置,比如在已绘制的图中标注出三亚的所在地 数据:地形tif文件 难点:文件格点过多,可视化会爆内存 解决办法...ax.set_yticks(np.arange(18, 20.3, .2),crs = ccrs.PlateCarree()) # y轴 ax.tick_params(labelsize=17) shp绘制在气象分析...3.7环境下是正常绘制,有城市划分,但使用气象分析3.9会出现以上不全的情况,笔者无法解决 实现地形倒也不难,之前画过很多关于地形的图 例如Python 绘制山体阴影+雷达图 导入库 In [2]:...分布式计算: Dask 支持分布式计算,可以在分布式环境中运行,处理跨多台计算机的大规模数据集。 适用范围: Dask 可以用于各种数据类型,包括数组、DataFrame 和机器学习模型等。...总之,Dask 提供了一种便捷的方式来处理大型数据集,并且能够有效地进行并行计算,从而加速数据处理过程。
作为胶水语言,在Python中,目前还在使用的地理可视化库包尚有basemap、cartopy、geopandas等,但由于basemap是基于Python 2,而2已经不再维护,这意味着basemap...二、Cartopy的安装 在前面已经推荐大家使用conda安装更新库包,从几个Python交流群反馈来看,请尽量不要混用pip与conda来安装库包,反复在pip和conda之间横跳最为致命。...三、初识Cartopy 由于地球是球体,而我们使用的地图是平面的,将球型展开为平面进行绘制时有距离、面积的失真。所以地图学家们提出了各种各样的投影方式,来尽量减小某方面的失真。...由于该图包的默认命令的参数都是外国人输入的,在绘制国境线时,会有相当多的领土(比如藏南、阿克赛钦、台湾)可能不被画入我国,所以不推荐绘制国境线,必须绘制的情况下,也应规避这些地方或使用我国发布的有效地理信息...不过这些资源都需要下载,所以在第一次绘制时候会报错(因为资源未下载),绘制高精度时出图特别慢(本质上是一根线一根线慢慢画,精度越高,转折弯曲越多,绘图越慢),但是绘制成功一次之后,再绘制时就非常快了(因为资源已经下载好了
读者来信,想优化一版台风路径绘制 在检索了半天终于找到一个库,tcmarkers。 可以与matplotlib相配合绘制出台风图标,说白了就是提供个marker的矢量文件。Python,很强大吧。...as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter from cartopy.mpl.ticker...as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter from cartopy.mpl.ticker...as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter from cartopy.mpl.ticker...1.20.0-notes.html#deprecations 优化3.0 参考 https://www.heywhale.com/mw/project/5f48b64f5c4b5d00363819bd 替换背景图
前言 1.使用os库循环读取文件夹下的wrf数据,并用nc库的dataset读取,可使用wrf_list = [Dataset(f) for f in wrf_files] ,wrf_files是os...读取形成的文件列表 2.使用wrfpython的getvar读取多个wrf文件的RAINC,RAINNC,RAINSH,利用cat将多时次数据合并 例如,RAINC = getvar(wrf_list,...或者通过for循环计算然后将数组叠加也可。...as ccrs import cartopy.feature as cfeature import cartopy.io.shapereader as shpreader from cartopy.mpl.ticker...为了代码不繁琐直接利用xarray的plot作图,更多细致的作图敬请自己实现,以下示例小时降水量的组图绘制 此处使用了xarray的data.diff计算每小时的降水量 wrfout中的降水变量都是累计降水量
前几日自然资源部表示要强化国家版图意识的教育,引导大家使用正确的地图。MeteoAI作为又红又专的中国特色社会主义接班人决定积极响应号召,引导大家正确绘制中国地图。...这回我们就教大家如何用python的地图库Cartopy来加载自制shp文件来绘制出正确的中国地图。...(Cartopy投影列表[1]),使用cartopy.crs可以调用各个投影, cartopy.crs.LambertCylindrical #调用兰勃脱投影 cartopy.crs.Mercator....海岸线 cartopy.feature.COASTLINE4.陆地 cartopy.feature.LAND5.海洋cartopy.feature.OCEAN6.国界线 cartopy.feature.BORDERS...显示自定义shp 使用cartopy.io.shapereader中的Reader可以读取shp文件。
它对Basemap、cartopy、xarray、pandas等气象常用的绘图库进行导入和封装,使组图、子图的绘制变得简单,对于气象人来说十分便捷。...它的安装方式也很简单,在cmd或conda里运行如下代码即可完成安装。...地球科学的科研工作常需要添加地图背景,python一般使用matplotlib和cartopy画地图,画一个简单地图可以使用如下代码,绘制结果如图。...)、title(标题)便可完成简单的地图绘制。...以下步骤虽然看着略微复杂,但是在实际画图中,如果要画整个地图,便可以直接复制下面的代码绘制底图,之后的图层可以慢慢叠加。
proplot 以 matplotlib、cartopy 包作为基础,可使用 matplotlib 中的方法来绘制等值线图。...要想将变量T在地图上呈现出来,就需要固定前两个维度 "time" 和 "lev" 。选择第一个时刻和最后一个高度层,在 jupyter 中查看ds.T[0,-1] 的内容。...如果要画等值线,则可使用 ds.T[0,-1].plot.contourf(),或者使用 proplot 的 PlotAxes.contourf。...as np import cartopy.crs as ccrs import matplotlib.pyplot as plt fig,axs = pplt.subplots(refheight=...highlight=colorbar 这就是利用 proplot 绘制的第一张气象图了,大家可以多试着调整一下,看看这张图会发生什么变化。
timeidx=0) v = getvar(wrf_file, 'va', timeidx=0) p = getvar(wrf_file, 'pressure', timeidx=0) # 提取WRF模拟的经纬度数组..., 'avo', timeidx=0) avo850 = interplevel(avo, p, 850) avo850 由wrfpython内部计算得到的绝对涡度,其单位是10-5 s-1,所以在绘图时不需要乘...pvo850 = interplevel(pvo, p, 850) pvo850 绘制850hPa位涡分布图 验证相对涡度计算结果:使用avo减去利用metpy计算的行星涡度的垂直分量f 计算相对涡度...用它们的差值作图还是有点区别 diff=vor-vor1 diff.plot() 可见差别较小,使用...metpy计算的结果可信 完整代码与文件在这里,文件在注册社区账号点击左侧文件标识可下载,代码需要右上角在线运行
在气象科研与业务经常使用的相关有:时间序列与时间序列的相关、时间序列与空间场的相关、空间场与空间场的相关。其中最常使用的就是皮尔逊相关系数。...相关场(空间2D) #定义两个空数组 r2 和 p2,并将数组的大小设置为 (south_north, west_east),r2 和 p2 会用来存放每个格点对应的 r 值(Pearson相关系数)...,我们就可以根据显著性检验的结果了——使用Matplotlib中的 scatter() 方法绘制打点图。...p2 = np.where(p2<0.05) #使用 Cartopy 绘制地图底图,并用 Matplotlib 中的 scatter() 方法将显著检验结果p2可视化。...central_longitude=180)) #设置投影方式 ax.add_feature(cfeature.LAND) #添加陆地
领取专属 10元无门槛券
手把手带您无忧上云