我们可以使用basemap这个工具包来实现中国地图的绘制

首先需要加载一些包:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import basemap

basemap包就是气象画图的利器,现在我们就可以愉快的画图了!

plt.figure(1)

map=basemap()

map.drawcoastlines()

plt.title(r'$world\ map$',fontsize=24)

plt.show()

第2行创建一个地图,第3行添加海岸线,这样一个世界地图就出来了,怎么样,很简单吧。(plt.show()这行代码是用来显示图片的)

我们发现这只是海岸线图,那么怎么将国界线添加上去呢?很简单,只要添加一行代码就可以了。

map.drawcountries()

那么怎么添加河流呢?可能有些同学已经猜到了,就是drawrivers()

map.drawrivers(color='blue',linewidth=0.3)

好了,现在我们可以开始画中国地图了!

其实只要在创建地图时指定一下范围就可以了,查阅资料发现,中国的经纬度范围是东经135度2分30秒-东经73度40分,北纬3度52分-北纬53度33分。

map=basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=139,urcrnrlat=54)

好了,一个中国地图就出来了!但是我们发现,好像少了点什么,没错就是省界。我们可以在下载中国大陆和台湾省的行政区域的shape文件,下载后解压,然后加入下面的代码。

chn='g:\python_material\mapofchina'

chn的值就是解压后的地图文件所在的地址。

下面我们就可以加入省界了!

map.readshapefile(chn+'\gadm36_chn_shp\gadm36_chn_1',

'states',drawbounds=true)

别忘了把台湾省加上去

map.readshapefile(chn+'\gadm36_twn_shp\gadm36_twn_1',

'taiwan',drawbounds=true)

还可以在地图上加上经纬度,比如我们要画5条经纬线,可以这么做:

parallels = np.linspace(3,55,5)

map.drawparallels(parallels,labels=[true,false,false,false])

meridians = np.linspace(70,140,5)

map.drawmeridians(meridians,labels=[false,false,false,true])

大功告成!但是,emmm,我们发现好像有点歪?我们可以在创建地图时选择投影参数。

map=basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=137,urcrnrlat=54,

projection = 'lcc', lat_1 = 33, lat_2 = 45, lon_0 = 100)

这回正式的完成了!

附上所有代码:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import basemap

plt.figure(1)

map=basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=139,urcrnrlat=54,

projection = 'lcc', lat_1 = 33, lat_2 = 45, lon_0 = 100)

map.drawcoastlines()

map.drawcountries()

map.drawrivers(color='blue',linewidth=0.3)

chn='g:\python_material\mapofchina'

map.readshapefile(chn+'\gadm36_chn_shp\gadm36_chn_1',

'states',drawbounds=true)

map.readshapefile(chn+'\gadm36_twn_shp\gadm36_twn_1',

'taiwan',drawbounds=true)

parallels = np.linspace(3,55,5)

map.drawparallels(parallels,labels=[true,false,false,false])

meridians = np.linspace(70,140,5)

map.drawmeridians(meridians,labels=[false,false,false,true])

plt.title(r'$china\ map$',fontsize=24)

plt.show()

以上就是利用python绘制中国地图的详细内容,更多关于python 绘制地图的资料请关注萬仟网其它相关文章!

希望与广大网友互动??

点此进行留言吧!

python画中国的轮廓_利用python绘制中国地图(含省界、河流等)相关推荐

  1. python画一颗心_利用python画一颗心的方法示例

    前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...

  2. 用python画动态皮卡丘_利用Python绘制萌萌哒的皮卡丘

    开发工具 Python版本:3.6.4 相关模块: turtle模块. 环境搭建 安装Python并添加到环境变量即可. 在cmd窗口运行"pikachu.py"文件即可. 效果如 ...

  3. 用python画国旗的程序_利用python画国旗(示例)

    概述 昨天在网上看到有人利用turtle模块画出了五角星,觉得很好玩.晚上睡觉前想,这样的话其实可以画国旗啊.于是编写了下面的代码.可是!我并没有准确的设计方法,所以不敢擅自画国旗啊.如果谁有标准的设 ...

  4. python画pr曲线代码_利用Python中的numpy包实现PR曲线和ROC曲线的计算

    闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在 python 环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy ...

  5. 手机用python画太阳花的代码_利用python绘制太阳花(蓝桥杯试题)

    识别出图形中的基本形状,以基本形状为单位绘制出最终图形.绘制所示图形,中间是半径为120的圆, 四周是边长为80的12个菱形. 使用turtle绘制如图中所示的图形. 1) 背景为白色,中间圆为红色轮 ...

  6. 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...

    数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...

  7. python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...

  8. python制作心形照片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  9. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  10. 用python画时序图源代码_使用python实现画AR模型时序图

    背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...

最新文章

  1. 科普:浅谈 Hellinger Distance
  2. 论大脑的运行-万有引力模型
  3. NIO详解(十三):Java IO 和NIO 总结
  4. 面试题收集——Java基础部分(一)
  5. 【EOJ Monthly 2019.02 - F】方差(数学,前缀和,积的前缀和)
  6. 女性开车5大安全驾车好习惯 为您支招
  7. matlab ascii 异或,GPS数据包的ASCII异或校验和计算方法(VC++)
  8. 【兰伯特光照与Blinn_Phong光照】
  9. NLP—3.文本特征工程及工具使用举例
  10. Packet Tracer基本使用
  11. 深度学习和机器学习的相关资料
  12. oracle视频经典教程,甲骨论经典版课程 Oracle DBA视频教程 超经典Oracle视频教程 博森瑞...
  13. 5G学习-3GPP协议入门
  14. 人口普查中应该具备的计算机知识,人口普查知识问答
  15. 程序性能常用衡量指标
  16. EXSI6怎么设置虚拟机从光驱启动
  17. 【Word】下载的word文档(doc格式)编辑后出现(同文件名.files)的文件夹--解决办法
  18. 做抖音自媒体能赚钱吗?
  19. 将扣出的章加入wps里面
  20. java ora-12505_Java Oracle本地主机连接错误(ORA-12505)

热门文章

  1. Spring中@DependsOn注解的作用及实现原理解析
  2. matlab多重比较lsd法,多重比较LSD-t值的计算(附证明方法)
  3. 基于ueditor 扩展的电子病历编辑器
  4. bp神经网络反向传播推导,bp神经网络的传递函数
  5. Windows10+Caffe+CUDA7.5+VS2013环境配置
  6. codeblocks安装包和主题及中文语言包百度云下载
  7. 自己动手开发多线程异步 MQL5 WEBREQUEST
  8. 多页TIF转PDF 【JAVA】
  9. 网易云视频直播推流集成大致过程
  10. python汉字拼音首字母,python获取一组汉字拼音首字母的方法