背景

地球是我们目前唯一的家园,虽然你我可能只生活在一个十几平的小屋子里,但是一想到,作为地球上的本土生物,连自己的居住环境都不了解,就有一种白白走一遭的感觉。所以我企图用Python来干一些探索性的事情,比如:通过绘制地图来了解一下我们赖以存活的星球。

  • 地球主要板块有7大洲:亚洲,欧洲,非洲,大洋洲,北美洲,南美洲,南极洲,都是陆地
  • 5大洋:太平洋,大西洋,北冰洋,南冰洋,印度洋

模块介绍

matplotlib模块+Basemap()函数
目前了解到的绘图方式是通过Python中的matplotlib拓展库中的Basemap函数完成的。

  • 这里简单介绍几个Basemap()的参数:
    projection->投影方式,当我们观测地球这个球体是,以不同的视角(即投影)会观测到不同的球面。因此这个参数的指定决定了最终展示的二维平面图。
    resolution->精度,主要有这几个级别的精度: c (crude), l (low), i (intermediate), h (high), f (full) or None

绘图

引入模块

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

Basemap的主要投影方式

  • mill – Miller Cylindrical 米勒图柱投影
    米勒投影是一种圆柱投影。经线是等间距的直线。纬线和两个极点均为直线,垂直于经线,且与赤道的长度相同。距离赤道越远,纬线的间距越大,但是增长幅度小于墨卡托投影上的增长幅度。经纬网沿赤道和中央经线对称。整个地图的高宽比为 0.73。越靠近极点,畸变越严重。

参数为mill时,

map = Basemap(projection='mill')


当map对象调用bluemarble()函数时,生成的是蓝底图,如上图所示的风格。
当map对象调用etopo()函数时,生成的是浮雕图,风格如下图所示:

浮雕风格下可以看到大陆的明显地貌,各种地形都很清晰。

  • ortho-- OrthoGraphic 正射投影
    正射投影是一种方位透视投影,可将地球表面从无限距离投影到平面。它可以提供三维地球的图像,因此通常用作插图或太空下地球的图像视图。此地图投影与局部投影相同,但支持球体。

参数为ortho时,

map = Basemap(projection='ortho',resolution='l',lat_0=23, lon_0=113)

轮廓突出图

仿真图

  • robin-- Robinson 罗宾森投影
    罗宾森投影可能是一种最常用于绘制世界地图的折衷伪圆柱地图投影。“国家地理”将罗宾森投影用于其世界地图约十年,直到 1998 年。

参数为robin时,指定经度线

map = Basemap(projection='robin',resolution='l',lon_0=-180)

  • lcc- Lambert Conformal兰勃特正形投影
    参数为lcc时,指定宽和高,指定经纬度
map = Basemap(projection='lcc',width=8E6,height=8E6,resolution='l',lat_0=23, lon_0=113)

Python+matplotlib绘制地图相关推荐

  1. 绘制渐变色扇形图 -基于python - matplotlib 颜色地图plt.cm模块儿

    绘制渐变色扇形图 -基于python - matplotlib 颜色地图cm模块儿         ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔ ...

  2. Python matplotlib 绘制量场图

    复习回顾 matplotlib 是基于Python语言的开源项目,pyplot提供一系列绘制2D图形的方法.随着版本的迭代,matplotlib 模块也支持绘制3D图形mplot3d工具包,制作动态图 ...

  3. 不愧是摸鱼高手Python matplotlib 绘制频谱图都会,能怪老板不管

    复习回顾 matplotlib 是Python专门用来绘制渲染的模块,其底层主要分为脚本层.美工层和后端.脚本层为我们提供常见图形绘制如折线.柱状.直方.饼图.以往文章 这么详细的Python mat ...

  4. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  5. Python matplotlib 绘制散点图 还不收藏起来

    复习回顾 我们在往前几期中对matplotlib模块学习,对常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图. 往前内容快速查看 超详细的Python matplot ...

  6. Python matplotlib 绘制等高线图

    前言 我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图.柱状图.散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容) python入门到进阶,爬虫数据分 ...

  7. 这么详细的Python matplotlib 绘制图形 还不赶紧收藏

    前言 我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图.柱状图.饼图.直方图等统计图表的相关方法,列举往期文章如下. 超详细的Python matplot ...

  8. 超详细的Python matplotlib 绘制柱状图

    复习回顾 Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对ma ...

  9. Python matplotlib绘制雷达图

    Python matplotlib绘制雷达图 本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指 ...

  10. Python matplotlib绘制饼图

    Python matplotlib绘制饼图 继前面使用matplotlib绘制折线图.散点图.柱状图和直方图,本篇文章继续介绍使用matplotlib绘制饼图. 一.matplotlib绘制饼图 # ...

最新文章

  1. mysql集群session_集群/分布式环境下5种session处理策略
  2. 测试眉形的有哪个软件_心理测试:你的眉形是下面的哪种?测你生来命运如何!超准...
  3. Agile PLM Item Title Block Tab
  4. JavaScript splice, slice, split方法区分整理, replace方法对字符处理
  5. loss function
  6. FusionCharts使用问题及解决方法(三)-FusionCharts常见问题大全
  7. Idea中搭建Resin运行环境(Mac)
  8. ROS 学习笔记(三):自定义服务数据srv+server+client 示例运行
  9. 领导者的资质——学习笔记(2):领导者的人格
  10. Java比较器概述即代码讲解实现
  11. a20添加usb2net的驱动方法
  12. 28335scififo中断接收与发送
  13. 五种I/O模型和Java NIO源码分析
  14. 如何使android应用开机时自动启动,如何使APP开机自启动
  15. JavaScript广告图片跟随滚动
  16. 文献阅读---玉米干旱响应和耐受性基因表达的调控变异定位
  17. python编写存储过程_存储过程 - msjaxuexi - 博客园
  18. 【GDOI 2016 Day1】第四题 疯狂动物城
  19. 第8章 对象引用、可变性和垃圾回收
  20. 科技让教育更美好:跟谁学更名高途,重新定义教育场景

热门文章

  1. 在matlab中讲矩阵一次性检验,层次分析法原理和matlab代码实现
  2. html语言如何给网页添加标题,html网页标题标签 html文件添加标题使用什么标记...
  3. 利用python绘制太阳花
  4. canvas实现5张图片合成一张图片
  5. 5miles:这家电商公司,想做推动区块链技术落地的标杆
  6. 转专业计算机的面试自我介绍,关于转专业面试自我介绍参考
  7. 《1024伐木累》-小白篇之丽姐(前篇)-总章节四
  8. 渲梦工厂V2.1.5.0简体中文官方版,作图快10倍~
  9. Markdown 语法(1)- 写标题
  10. 分布式 | 浅谈 dble 引入 ClickHouse 的配置操作