阅读文本大概需要 5 分钟。

大家还记得中学课本里的一首现代诗歌吗?

乡愁 
现代 · 余光中

小时候,
乡愁是一枚小小的邮票,
我在这头,
母亲在那头。

长大后,
乡愁是一张窄窄的船票,
我在这头,
新娘在那头。

中学时,当我们学到余光中的「乡愁」,可能我们当时并不能完全理解这首现代诗歌,随着我们年龄的增长,我们外出求学,毕业后奔赴北上广。那年少时的一枚邮票,那青年时的一张船票,随着科技的发展,如今就是一次视频聊天和火车票。

即将春节了,不管的你身在何方,都会回家和家人过一个团圆年。此时的你,身处地图的哪个角落?春节时会去到哪个角落呢?今天就用 Python 画一下世界地图和中国地图。

项目环境

语言:Python 3.6
编辑器:Pycharm

安装库

主要用到的库是 basemap 库,这个库是 matplotlib 库中一个用于在 Python 中绘制地图上的 2D 数据的工具包。

1、安装 geos 库:Python 的 basemap 库是建立在 geos 中的,所以得先安装 geos,cmd 命令下,定位到 pip 所在的文件夹,使用 pip 命令安装。

pip install geos

2、下载 pyproj 和 basemap 两个包的 whl 文件,下载地址如下,请下载合适的版本。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

3、cmd 命令下先进入到上面下载的库的路径下,使用 pip 命令安装 pyproj 和 basemap 库。

pip install basemap-1.2.0-cp36-cp36m-win_amd64.whlpip install pyproj-1.9.6-cp36-cp36m-win_amd64.whl

导入

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

常见用法

map = Basemap()  # 新建一张世界地图
map.drawcoastlines() # 画出海岸线
plt.show()  # 打开窗口显示运行结果

世界地图

通过上面常见用法我们就可以勾勒出一个平面型的世界地图了。

效果图如下,平面图,黑白的,不美观。

优化下,把平面图投影成球形图,给大地和湖泊加上不同的颜色。

这样就会美观很多了

中国地图

接下来,我们创建地图时改一下投影方式,并加入 drawcountries 方法。

运行代码,中国地图便出现了。

这样我们只是看到中国的轮廓图,省与省之间的分界线没有显示出来,因为这是老外制作的库,中国省份的边界默认没有,这需要我们手动下载包,下载网站如下:

https://gadm.org/download_country_v3.html

下载 中国 China 和 台湾 Taiwan 的 Shapefile 文件,注意:不要忘了 Taiwan,因为:台湾是中国领土不可分割的一部分!

下载文件解压后用 readshapefile 方法读取下载的文件。

运行代码,效果图如下:

颜色区分

为了突出中国的地图,我们用红色来区分。我们把 facecolor 参数设置成 r,r 是 red 的简写。

同样,不要忘了把台湾也加上同样的颜色,台湾是中国领土不可分割的一部分!

运行代码后,就能看到中国地图了。

源码在公众号回复「地图」获取。

最后,猪大家猪年暴富

觉得有意思的大家帮忙点点好看,戳下鸡腿,也可以转发给更多的伙伴。

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"欢迎点击下方小程序留言讨论。

「pk哥」以梦为马,不负韶华

长按识别二维码关注

欢迎点击下方小程序留言讨论。

推荐阅读:

Python抢票程序优化,可以选择车次和座次

无需Python环境,小白也可以运行的抢票程序

爷爷:啥是佩奇?佩奇:Python 10 秒可以画出来

爬虫时IP总是被封?我来教你一招

用Python勾勒世界地图和中国地图相关推荐

  1. python是中国的吗-使用Python实现画一个中国地图

    为什么是Python 先来聊聊为什么做数据分析一定要用Python或R语言.编程语言这么多种,Java, PHP都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用Python语言? 数据分析只 ...

  2. Python使用 matplotlib的basemap绘图之一--几行代码画世界地图和中国地图

    近来读到几篇Basemap绘图的文章,实践了一下,感觉很有意思,在此分享给各位朋友一起来感受一下它的魅力. Basemap简介 简介 在数据可视化过程中,我们需要将数据在地图上画出来. 比如说我们在地 ...

  3. 知道经纬度用python画路线图_神级程序员教你用Python如何画一个中国地图!(好好玩)...

    为什么是Python 先来聊聊为什么做数据分析一定要用 Python 或 R 语言.编程语言这么多种, Java , PHP 都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用 Python ...

  4. python中国地图程序设计_神级程序员教你用Python如何画一个中国地图!(好好玩)...

    为什么是Python 先来聊聊为什么做数据分析一定要用 Python 或 R 语言.编程语言这么多种, Java , PHP 都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用 Python ...

  5. pycharts实现地图可视化(世界地图、中国地图、省份地图)

    使用之前先导入包,pycharts的1.x版本和0.5不兼容,我的环境之前是1.x版本,所以下面都是以1.x版本为例. from pyecharts.charts import Map from py ...

  6. 【python】pyecharts绘制中国地图

    from pyecharts import options as opts from pyecharts.charts import Map# 省份数据,列出的不是全国地区 province_dis ...

  7. HTML ----世界地图和中国地图的写法

    代码如下: <!DOCTYPE html><html><head><meta charset="utf-8" /><title ...

  8. echart 世界地图、中国地图

    世界地图,封装组件 第一步,下载echarts cnpm install echarts --save-dev 第二步,在main.js中全局引入 //引入echarts import echarts ...

  9. python 画一张中国地图 geopandas 城市地图 DATAV.GeoAtlas

    地图json获取: DATAV.GeoAtlas http://datav.aliyun.com/tools/atlas/#&lat=30.332329214580188&lng=10 ...

最新文章

  1. c# ArrayList
  2. 提效工具git的基本使用
  3. 我治大学生抄作业毛病的办法——兼答丁又专老师
  4. java中注解动态传参_SpringMVC之注解、传参、返回值及拦截器
  5. es if语法 script_熬夜7天,我总结了JavaScript与ES的25个重要知识点!
  6. [蓝桥杯][2014年第五届真题]分糖果-模拟
  7. Sql Server 开窗函数Over()的使用
  8. 运筹优化(四)--线性规划之对偶问题和灵敏度分析
  9. VegasMovie Studio无法安装怎么办?
  10. 6. Zend_Uri
  11. 面试必问------索引详解
  12. SONIC架构简要分析-数据库
  13. opensips mysql 版本_opensips搭建问题解决笔记
  14. 人工智能在物流行业的发展与应用
  15. C++实现 L1-061 新胖子公式 (10分)
  16. 悼念蓝色理想FLASH区版主:手工感情==生命如此之脆弱
  17. 惊闻高中同学因公殉职
  18. 计算机游戏act指的是,act 和 sct 是什么意思
  19. 麻将和牌源代码——java
  20. python建站的缺点_记录一下自己的建站过程(三):Python与Django

热门文章

  1. 【名场面临摹 之 马里奥·奥德赛】2 马里奥骨骼绑定(附模型下载)
  2. 化学专业大二转码的抉择之路!
  3. Linux6.5双网卡绑定重启网络异常,Centos 6.5 64位双网卡绑定教程
  4. 1.7-22:紧急措施
  5. 配置prettier
  6. 鸿蒙os华为p20p,华为P50Pro曝光,一体全视屏+双5000万+鸿蒙OS 2.0,香气扑鼻
  7. 漫步者蓝牙自动断开_Nico评测:四款500元以内的真无线蓝牙耳机上手体验
  8. geoserver的api接口_使用REST接口玩转GeoServer
  9. windows中重启mysql
  10. 社科院房地产蓝皮书:北京房价今年易涨难跌