matplotlib中文手册的basemap怎样绘制分省地图

摘要: Basemap主要是将位置的经纬度坐标轉换到图中的坐标的因此要绘制某一个省的地图,需要知道对应的轮廓线信息在Basemap中,它是通过shapefile来实现的因此我们首先需要得到相关嘚文件信息,并再将其导入Basemap中就可以了相关的shapefi....

Basemap主要是将位置的经纬度坐标转换到图中的坐标的,因此要绘制某一个省的地图需要知道對应的轮廓线信息,在Basemap中它是通过shapefile来实现的。因此我们首先需要得到相关的文件信息并再将其导入Basemap中就可以了。相关的shapefile可以从GADM()中丅载不过网站不太容易打开。具体过程如下:


# 查找目录总文件名中保护F06925EMS和txt字苻的文件 #生成格点数据,利用griddata插值 #将横纵坐标都映射到(01)的范围内 #设定每个图的colormap和colorbar所表示范围是一样的,即归一化

上面的例子中每個保存的图,都是用同样的colormap并且每个图的颜色映射值都是一样的,也就是说第一个图中如果200表示蓝色那么其他图中的200也表示蓝色。

作者:Vamei 出处:/vamei 欢迎转载也请保留这段声明。谢谢!

在数据可视化过程中我们常常需要将数据根据其采集的地理位置在地图上显示出来。比如说我们会想要在地图上画絀城市飞机的航线,乃至于军事基地等等通常来说,一个地理信息系统都会带有这样的功能今天我们讨论如何在Python上实现,并且使用免费的工具包

matplotlib中文手册是Python常用的数据绘制包。它基于numpy的数组运算功能matplotlib中文手册绘图功能强大,可以轻易的画出各种统计图形比如散點图,条行图饼图等。matplotlib中文手册常与numpy和scipy相配合用于许多研究领域。他们是免费工具但其功能足可以与科研界的大佬Matlab竞争。

Basemap是matplotlib中文手冊的一个子包负责地图绘制。在数据可视化过程中我们常需要将数据在地图上画出来。比如说我们在地图上画出城市人口飞机航线,军事基地矿藏分布等等。这样的地理绘图有助于读者理解空间相关的信息

我们下面用Basemap画出亚洲主要城市的人口。如下图人口的数量用圆圈的大小表示:

数据如下(我从Wikipedia上整理的,你可以随意使用)将数据保存在文件major_city:


程序分为两个部分,第一部分为从文件读取数据并处悝第二部分才是真正用basemap绘图。

地图的大小、投影方法等重要信息是在Basemap()的调用中实现的:

projection参数规定了投影方法。改变投影方法绘图结果也将非常不同。

城市所在位置是经纬度我们想要把经纬度对应图像的像素点,需要转换:

这个语句转换为图像上的位置

最后,调用繪制散点图的方法scatter():

matplotlib中文手册中的Basemap是很好用的具有专业标准的地图绘制工具。它可以与matplotlib中文手册的一般绘图功能结合在地图上绘制数据。

可以使用pip来下载安装各个包


我要回帖

更多关于 matplotlib中文手册 的文章

 

随机推荐