我与Cartopy的认识起源于“气象水文科研猫”的这个推文,那时候的我觉得,用代码画地图好酷,arcgis就感觉low爆了。但是一直没有时间学习。前段时间放暑假,磕磕绊绊装完包以后就不想动弹了,折腾环境折腾的我头皮发麻。gdal和cartopy真的是我学python以来装的最麻烦的包。
交流群里有读友提问:如何在地球投影中添加指定的纬圈。我抽空尝试了一下,分享给大家。
Cartopy 也是一个 python 地图绘制包,同样能完成很多 Basemap 能实现的功能,而且旨在使数据分析及可视化尽可能简单。 其利用了强大的 PROJ.4,numpy,shapely库,提供了简单直观的绘图接口,可以创建满足出版质量的地图。
Python 环境下常用的地图绘制包是 Basemap,Cartopy,geopandas,KeplerGl,GeoViews等等,我以前常用的是Basemap,但无奈官方已经在2020年更新了,官方推荐使用Cartopy作为替代。
今天来讲一讲在日常工作生活中我常用的几种绘制地图的方法,下面我将介绍下面这些可视化库的地图绘制方法,当然绘制漂亮的可视化地图还有很多优秀的类库,没有办法一一列举
之前在公众号做过一个关于我国1945~2015年历史台风统计的可视化展示,发现很多有趣的数据,比如说台风登陆最多的城市是湛江。
什么是白化?我在一年前也是头一次接触到这个词语,其实就是将你不需要的部分的等值线、等值线填色、风场、流场等挖去。目前气象领域流行的是花式利用地图shp文件进行操作,达到白化的目的。
在前面的教程中,我们已经讲解了常用的二维型数据的可视化方法。但是在日常研究中,由于大气科学属于地学系统,和地球地理信息的结合十分密切,大多数时间,需要在图形中添加地理信息。作为胶水语言,在Python中,目前还在使用的地理可视化库包尚有basemap、cartopy、geopandas等,但由于basemap是基于Python 2,而2已经不再维护,这意味着basemap也要为Python 2陪葬。而geopandas是基于pandas的,属于商务图表利器,但对于气象科研,显得力不从心。现在仅介绍basemap接班者cartopy。
地图是表达国家版图最常用、最主要的形式。但在影视剧《亲爱的,热爱的》中出现了明显的错误,从上至下引起了极大的关注度。
“ Proplot是python画图时常用的库,今天就让我们先来一起认识下它吧!”
在前面一节中,我们已经介绍了cartopy的大致用法——全球地图的绘制、范围的设定以及更改地理信息的精度。但是,有时候这并不能满足我们的需求,比如我作为某地级市的预报员,绘制该市降水图时,为使图片整洁,一般不希望多出其他市县。还有进行地区级别的研究,比如青藏高原地理区划将包含尼泊尔与不丹,cartopy的基础地理信息添加暂时无法做到,但是该库包已经准备了额外的接口以满足这种需求,并且比NCL更加灵活。
在前面推送中我们提到了通过collection功能而在3D地图中添加地图的方法,也短暂提到了栅格与填色两种图形样式的降维方法。但是从matplotlib这两个函数的底层有一定的局限性,比如下面这两张图的侧面填色就无法绘出:
本节提要:使用cartopy进行市县的色块填色、模仿geopandas绘制颜色图
地图绘制 大家在绘制栅格地图的时候有可能还在使用ArcGIS进行出图,但是ArcGIS出图比较慢,而且批量出图的时候又比较麻烦。 今天给大家介绍一个Python中用于地图绘制的库,Cartopy,这个库跟basemap非常相似,不过basemap现在已经不再更新。所以大家使用Python绘制地图还是使用Cartopy比较好。 Cartopy简介 Cartopy是一个Python软件包,用于地理空间数据处理,以便生成地图和其他地理空间数据分析。 网址:https://scitools.org.uk/carto
Basemap 的 mpl3d 绘制3D地图时非常强大,但目前仍然存在一些小问题,比如在填充陆地时有时会出现问题。
在捍卫祖国领土从每一张地图开始,Python绘制气象实用地图[Code+Data](续)中我们介绍了cartopy这个库,专门用于绘制地图和地理空间信息分析的python库,但是cartopy中的底图都是国外资源,一个是未经审核,另外调用时加载速度也会受影响。本期文章将会介绍如何在cartopy中使用天地图提供的影像,矢量和地形的图层服务。
学习气象少不了与等值线 (contour line; isoline) 打交道。proplot 以 matplotlib、cartopy 包作为基础,可使用 matplotlib 中的方法来绘制等值线图。下面介绍一个简单的绘制气温的例子:
提要中提到的这几种图形都是在气象上比较常用的,地形剖面主要研究地貌对降雨、气流的影响作用;纬度高度剖面图可以用来分析降雨的某些条件,如湿层深厚、上干下湿、风向风速等;时间纬度图研究某个固定经度上的值随时间的演变(这是和大气环流一般自西向东相匹配的,所以时间经度图比较少见)。
0.导言 我们都知道,气候研究的时间跨度一般都较长,基本都在30年以上,这就意味着对应的数据集十分庞大,既不能简单地对数据进行描述,也无法轻易地从数据中提取特征。那么面对如此庞大的数据集,我们如何才能
我回答目前常用的库包不能直接绘制这样的桑基图,我错了,应该回答是目前常用的库包不能绘制这样漂亮些的桑基图。
在星球研究所最近的《10万座大坝的诞生!》一文中,作者们利用丰富的数据可视化手段对我国及世界大型水坝工程的发展分布情况进行了分析展示,而我尤其喜爱其中的一幅作品:
本节提要:仿制中央气象台气象服务图片、关于cartopy里的投影与转换、cartopy中extent与boundary。
这是我在比较久远之前看到的问题。首先必须明确一点,matplotlib的axes3D这个投影中 ,是不能用add_geometry这个功能来直接将读取到的shp文件添加上去的。add_geometry这个功能是cartopy下的geoaxes才能使用,同理add_feature也不能再3d图中使用。
Python的绘图功能非常强大,在大气和海洋常常用来绘制一些有关地理方面的图。本片主要介绍python绘制EC数据(grib格式)的的全国降水分布图。
近几年,python在气象领域的发展也越来越快,同时出现了很多用于处理气象数据的python包。比如和NCL中的 WRF_ARWUser库类似的 wrf-python模块。
在这个过程中发现一个好用的轻量级的出版级地图可视化图表绘制工具-「cartoee」,下面就给大家介绍一下:
10.在上一题基础上,添加国境线,并指定线宽为0.1(不推荐使用,因为该默认参数会使得我国部分领土丢失)
本节提要:关于子图的一些问题、使用path添加示意框线、Cartopy台风实例本土化
众所周知,Python的matplotlib是一个非常全面的制图库,它不仅可以绘制图表、地图,还可以绘制3D效果图,试想一下,如果你在画图的时候,可以将立体地形图作为底图,那逼格噌一下子就上来了,今天我就来教大家画一个立体地形图,啥也不说,咱先上效果图:
Proplot对matplotlib进行了高度的封装,是一个高级绘图工具,其功能相当强大!而且融和了cartopy、basemap、xarray和pandas。看到这里这应该就是我一直想要的绘图工具了!
文中代码与数据请点击https://pan.bnu.edu.cn/v/link/view/0cd746194a1e42858583e84ac7fc4e40直接下载,不需要转存。
上一期,对Python绘制气象实用地图做了比较详细的介绍,尽管已经能够满足部分需求了,但是,在实际的应用需求中,可能还是别的需求,那么,今天就手把手教大家如何绘制几个省份的白化等值线contour地图。另外,也算是对上一期进行补充,谈谈一些小技巧。
该相关系数是由卡尔·皮尔逊在前人的研究基础上所提出的相关统计量,可以用来度量两个变量之间的简单线性关系。它的计算公式如下:
最近天气学原理需要绘制课本插图来做 翻转课堂,因此整理了课本第四章几个典型图片的画法和代码,共需要的人使用。
基于很多同志询问添加经纬度办法,系统性重编了地图的经纬度添加方式。各种投影中以矩形投影PlateCarree最为方便,可以套用matplotlib.mticker的形式。在最新的0.18版本的cartopy中,虽然还不完善,但是终于能直接绘制兰勃脱下的标签了。墨卡托在官网上有示例。
平时绘制地图时,经常会将多个图放到同一个 figure 中,而这些图的地图范围通常是相同的,所以可以设置共享 x-y 轴。
数据科学中一种常见的可视化类型是地理数据。Matplotlib 用于此类可视化的主要工具是 Basemap 工具包,它是位于mpl_toolkits命名空间下的几个 Matplotlib 工具包之一。不可否认,Basemap 使用时有点笨拙,甚至简单的可视化渲染也要花费更长的时间,超出你的想象。
导读:相比于科学,数据分析更像是一门艺术。创建样式优美的数据可视化是这个艺术中不可缺少的部分。然而,某些人认为优美的,也会有人觉得难以接受。和艺术类似,随着数据分析的快速演变,人们的观念和品味也一直在变化。但是总的来说没有人是绝对正确和错误的。
利用python中的cartopy、wrf-python等库,绘制wrf中的土地利用类型。主要使用了pcolormesh函数进行绘制,绘制效果如下:
https://blog.csdn.net/weixin_44510615/article/details/90732373 https://blog.csdn.net/weixin_44510615/article/details/90732196
本节提要:关于一些不常见的colorbar的仿制:弯曲与环形的colorbar、两端分离的colorbar、收缩colorbar的主副刻度、双刻度列colorbar、截取与拼接cmap、外部颜色引入cmaps与palettable库包、特别的格式定制、levels等距而colorbar刻度距离不等距、其他类型的伪colorbar、使刻度侧的框线与colorbar柱体分离。
虽然 cartopy 下的 Plate Carrée 投影使用方便,但中纬度下使用 Lambert 投影能更好的呈现真实的地图。用一个正圆锥切于或割于球面,将地球面投影到圆锥面上,然后沿一母线展开成平面。下图是使用proplot绘制的最终效果:
星际里面的战斗都是在地图上进行的,只要我们可以编辑地图,就可以创造一些新的战役。可是,星际里面的地图绘制相关的代码如果开放出来,估计大多数万家都看不懂,更不要说自己编辑地图了。
利用它,你可以在小程序中调用一个功能完整的地图,让小程序里所展示的地点更直观、更精确。
使用背景方法可以绘制用户数据到地图。这些方法对于绘制 borders,lands等是非常有用的。下面我们就来介绍一下这些内容。
由于我国省份较多,把数据放在地图上展示会更加清晰,故本文用Python中的pyecharts库进行人口分布和迁移绘图展示。
今天直接给大家介绍一下我最近常用的空间绘图神器-Xarray,之所以给大家推荐这个工具包,是因为我最近在空间可视化课程中免费新增的部分内容,其就是使用Xarray工具绘制的。先给大家看一下新增的可视化预览图:
领取专属 10元无门槛券
手把手带您无忧上云