参考地址:https://mp.weixin.qq.com/s/Mni6ZLGC5jlUzMVpglv6JA               https://www.cnblogs.com/ameile/p/6694982.html

1.首先建立一个字典用来存储每个省份的疫情状况,使用不同的颜色标记来区分

2.readshapefile为读取下载好的地图文件,源码中的原话为:

For example, if name='counties', self.counties will be a list of x,y vertices for each shape in map projection coordinates and self.counties_info will be a list of dictionaries with shape attributes. 程序中给入的值为prov,所以map1.prov_info为地图信息,map1.prov为多边形的坐标

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection
from matplotlib.patches import PathPatch
import numpy as npif __name__ == '__main__':info_dic = {}provinces = ['湖北','广东','浙江','河南','湖南','安徽','江西','江苏','重庆','山东','四川','北京','黑龙江','上海','福建','河北','陕西','广西','云南','海南','山西','贵州','辽宁','天津','甘肃','吉林','内蒙古','新疆','宁夏','香港','青海','台湾','澳门','西藏']nums =[29631,1151,1092,1073,879,830,771,492,468,466,405,337,331,299,261,218,213,210,141,136,119,109,107,94,83,80,58,49,49,36,18,18,10,1]colors = ['darkred','firebrick','indianred','lightcoral','lightsalmon']for i in range(len(provinces)):info_dic[provinces[i]] = str(nums[i])for name in info_dic.keys():# print(name)if int(info_dic[name])>=10000:info_dic[name]= 'darkred'elif 1000<int(info_dic[name])<9999:info_dic[name]= 'firebrick'elif 100<int(info_dic[name])<999:info_dic[name]= 'indianred'elif 10<int(info_dic[name])<99:info_dic[name]='lightcoral'else:info_dic[name]='lightsalmon'map1 =  Basemap(projection='lcc', width=7000000,height=5000000,lat_0=35, lon_0=105)plt.figure(figsize=(12,9))map1.drawmapboundary(fill_color='aqua')map1.fillcontinents(color='#ddaa66',lake_color='aqua')map1.drawcoastlines()map1.readshapefile(r'map\gadm36_CHN_1', 'prov')#print(map1.prov_info)#print(map1.prov)  #列表#map1.readshapefile(r'f:\data\gadm36_TWN_shp\gadm36_TWN_0', 'taiwan') # 台湾地图要单独添加#print(list(zip(map1.prov_info, map1.prov)))ax = plt.gca()  #  获取当前子图for name in provinces:patch = []if name != '台湾':for info, shape in zip(map1.prov_info, map1.prov):  # 将每个省的地图信息与坐标合并成元组if name in info['NL_NAME_1']:  # map1.prov_info 中'NL_NAME_1': '遼寧|辽宁',patch.append( Polygon(np.array(shape), closed=True))  #  将多边形顶点连接绘制多边形ax.add_collection(PatchCollection(patch, facecolor=info_dic[name],edgecolor='k', linewidths=1., zorder=2))# else:#     for info, shape in zip(map1.taiwan_info, map1.taiwan):#         if info['NAME_0'] == "Taiwan":#             patch.append( Polygon(np.array(shape), closed=True) )#     ax.add_collection(PatchCollection(patch, facecolor=info_dic['台湾']['color'], edgecolor='k', linewidths=1., zorder=2))plt.show()

matplotlib+basemap画出标记地图相关推荐

  1. Python下basemap画出的各种地图

    刚接触Python的basemap库时,被它所能产生的效果震撼了. 但是在深入的学习时发现网上很难找到系统的中文教程,仅能搜到一些博客文章里讲到的某些知识点,不成体系,就难以运用自如. 在网上看了看官 ...

  2. 如何用python画出中国地图-用Python画中国地图(二)

    在上一篇文章<用Python画一个中国地图>中,我们简单描述了一下如何用Python快速画出一个中国地图的轮廓,似乎没有什么实用价值,这一次我们用实际数据填充它,使它看上去更有意义. 上色 ...

  3. 如何用python画出中国地图-用Python画一个中国地图

    你用 Java 的 4 行代码画一个地图出来?m.drawcountries(linewidth=1.5) 就变成了如许: 用 Java 可能吗?用 PHP 可能吗? 如不雅我们想显示中国地图,只须要 ...

  4. matplotlib函数画出高数函数图像

    很多考研同学此时此刻都在为了高数而头疼,很多同学看到函数之后想利用函数图像来判断某些问题,方便明了而且简洁的利用图像来解决问题. 但是在观察图形之前有一个很令人头疼的问题:我们此时此刻遇到的函数已经不 ...

  5. python matplotlib模块画出的图像转换为.tiff格式

    利用python matplotlib模块(python3.7.1)画出的图表暂不支持直接导出.tiff格式的图片,但是可以导出eps, pdf, pgf, png, ps, raw, rgba, s ...

  6. Android开发画出中国地图,Android 绘制中国地图

    最近的版本有这样一个需求: 有 3 个要素: 中国地图 高亮省区 中心显示数字 面对这样一个需求,该如何实现呢? 高德地图 因为项目是基于高德地图来做的,所以很自然而然的想到了高德.但是当查阅高德地图 ...

  7. 利用python爬取空气质量数据,并用Matplotlib模块画出分析图

    爬取到的数据 分析图: 源代码: import csv import random import time import pandas as pd import requests from bs4 i ...

  8. python使用matplotlib包画出3d图像

    例子代码如下: import matplotlib.pyplot as pltdef zfunc(x):return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[ ...

  9. Vue+Excharts画出重庆地图

    一.引入Excharts 全国地图选择器API http://datav.aliyun.com/tools/atlas/#&lat=30.199123662463407&lng=107 ...

最新文章

  1. vs2005什么时候能出正式版
  2. pip freeze requirements.txt 分隔 sudo pip install -r requirements.txt
  3. 【Android 安装包优化】APK 打包流程 ( 文件结构 | 打包流程 | 安装流程 | 安卓虚拟机 )
  4. Oracle的外部表
  5. [2017.11.11特辑]以一个光棍节表白案例浅谈ECMAScript6模块化的使用方法
  6. 苹果风格ui_苹果如何使Soft-UI成为未来
  7. jooq和jdbc_在jOOQ之上构建的RESTful JDBC HTTP服务器
  8. C# 5.0 CallerMemberName CallerFilePath CallerLineNumber 在.NET4中的使用
  9. jqc3ff继电器引脚图_单片机控制继电器驱动电路图原理分析
  10. 2019全球程序员薪酬报告:软件开发比机器学习抢手!40岁后收入下滑
  11. SQL数据库引擎服务SQL Server启动参数概述
  12. java中怎么自己画地图_用 4 行代码画一幅中国地图
  13. rockchip的调试手段
  14. 数据库第九章习题作业
  15. 3分钟教会你Graylog收集Windows主机日志
  16. Python网络爬虫实践简答题
  17. GBase XDM集群服务配置
  18. 【经验】VMware|windows更新20H2版本后VMware虚拟机无法开启(禁用Device guard)
  19. win10系统运行sh脚本
  20. EXCEL两个表如何通过关联合并

热门文章

  1. 2020-08-31
  2. 【CSS】1610- CSS 实现超过固定高度后出现展开折叠按钮
  3. (二)postman批量执行用例
  4. [R语言] 生成随机数
  5. 常见html5营销类型有哪些,常见的品牌营销都有哪几种形式
  6. 一言 源码 android,[源码]纯净的一言API
  7. 荣耀v40轻奢版和华为nova8的区别 哪个好
  8. 快要圣诞节啦,快去给小伙伴们分享漂亮的圣诞树吧
  9. 最新30个优秀的网站设计作品欣赏
  10. Scratch节假日主题课:植树节种五棵树