最近需要做一个关于“数字一带一路——气候变化和灾害风险评估”的可视化项目。
甲方给的具体数据为四个 Excel 文件,分为亚洲、非洲、欧洲、澳洲四大洲,每个表格的属性有22项,经过筛选可用的属性为 Country、Disaster type、Disaster subtype、Total deaths、Total affected、Total damage。
因为常用的 ECharts 官方地图下载地址暂时关闭了,经过调研决定使用 pyecharts。 pyecharts 是一个用于生成 ECharts 图表的类库。它是为了与 Python 进行对接,以方便在 Python 中直接使用数据生成图。与 matplotlib 相比,matplotlib 是静态图,而 pyecharts 可以展示动态效果。

  • pyecharts http://pyecharts.org
    安装:cmd>pip install pyecharts。
  • 地图资源 http://pyecharts.org
    全球国家地图(世界地图和213个国家,包括中国地图):pip install echarts-countries-pypkg;
    中国省级地图(23个省,5个自治区):pip install echarts-china-provinces-pypkg;
    中国市级地图(370个中国城市):pip install echarts-china-cities-pypkg;
    中国区县级地图(2882个中国县·区):pip install echarts-china-counties-pypkg;
    中国区域地图(11个中国区域地图,比如华南、华北):pip install echarts-china-misc-pypkg。
  • 提取数据
# 灾难类型
import xlrd #读取EXCELdata = xlrd.open_workbook(r'D:\Disaster database\Oceania.xls')  #打开EXCEL文件
# data = xlrd.open_workbook(r'D:\Disaster database\Africa.xls') #非洲
# data = xlrd.open_workbook(r'D:\Disaster database\Asia.xls') #亚洲
# data = xlrd.open_workbook(r'D:\Disaster database\Europe.xls') #欧洲
# data = xlrd.open_workbook(r'D:\Disaster database\Oceania.xls') #澳洲table = data.sheets()[0]  #打开第一张表
nrows = table.nrows  #获取表的行数print('总行数:',nrows,'\n')
print('各国统计:')
s = 'American Samoa'
# s = 'Algeria' #非洲
# s = 'Afghanistan' #亚洲
# s = 'Albania' #欧洲
# s = 'American Samoa' #澳洲now = s
L = []
i = 1
res = []
while i<=287:
# i<=1437 #非洲
# i<=3424 #亚洲
# i<=1003 #欧洲
# i<=287 #澳洲while now == s:L.append(table.row_values(i)[14])res.append(table.row_values(i)[14])i += 1if i<=287:now = table.row_values(i)[2]else:breakprint(s, ':',' Riverine flood:', L.count('Riverine flood'),' Flash flood:', L.count('Flash flood'),' Coastal flood:', L.count('Coastal flood'),' Drought:', L.count('Drought'), ' Landslide:', L.count('Landslide'),' Ground movement:', L.count('Ground movement'),' Forest fire:', L.count('Forest fire'),' Land fire (Brush, Bush, Pastur):', L.count('Land fire (Brush, Bush, Pastur'),' Tsunami:', L.count('Tsunami'),' Mudslide:', L.count('Mudslide'),' Avalanche:', L.count('Avalanche'),' Rockfall:', L.count('Rockfall'),' Subsidence:', L.count('Subsidence'))s = nowL =[]
print('\n')print('总统计:',' Riverine flood:', res.count('Riverine flood'), ' Flash flood:', res.count('Flash flood'), ' Coastal flood:', res.count('Coastal flood'), ' Drought:', res.count('Drought'), ' Landslide:', res.count('Landslide'), ' Ground movement:', res.count('Ground movement'),' Forest fire:', res.count('Forest fire'),' Land fire (Brush, Bush, Pastur):', res.count('Land fire (Brush, Bush, Pastur'),' Tsunami:', res.count('Tsunami'),' Mudslide:', res.count('Mudslide'),' Avalanche:', res.count('Avalanche'),' Rockfall:', res.count('Rockfall'),' Subsidence:', res.count('Subsidence'))
# 按格式输出
import xlrd #读取EXCELdata = xlrd.open_workbook(r'D:\Disaster database\Africa.xls')table = data.sheets()[0]  #打开第一张表
nrows = table.nrows  #获取表的行数print('各国统计:')
s = 'Algeria'
now = s
nsum = 0
i = 1while i<=1436:while now == s:num=int(float(table.row_values(i)[17]))# print(i+1, num)nsum += numi += 1if i<=1436:now = table.row_values(i)[2]else:breakprint('\'', s, '\':', nsum, ',')s = nownsum = 0
  • 世界地图 - 色温图
from pyecharts import Mapprovince_distribution = {'China':11003666}  # 定义数据
province_keys=province_distribution.keys()
province_values=province_distribution.values()map1 = Map('主标题', '副标题', width=1200, height=600)
map1.add('', province_keys, province_values, maptype='world', visual_range=[0, 10000], is_visualmap=True, visual_text_color='#000', is_map_symbol_show=False)
map1.render('1.html')
map1

  • 中国省级地图 - 色温图
from pyecharts import Mapprovince_distribution = {'内蒙古':9, '黑龙江':12, '新疆':20, '青海':1, '北京':15, '安徽':0, }
province_keys=province_distribution.keys()
province_values=province_distribution.values()map1 = Map('主标题', '副标题', width=1200, height=600)
map1.add('', province_keys, province_values, maptype='china', visual_range=[0, 20], is_visualmap=True, visual_text_color='#000', is_map_symbol_show=False)
map1.render('1.html')
map1

坑:…\Anaconda\Lib\site-packages\pyecharts\datasets\city_coordinates.json

参考链接:https://www.jianshu.com/p/e0b2851672cd

可视化 - pyecharts相关推荐

  1. python可视化使用_python可视化pyecharts

    python可视化pyecharts 简单介绍 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化 ...

  2. python动态图表变化_Python数据可视化 pyecharts实现各种统计图表过程详解

    Python数据可视化 pyecharts实现各种统计图表过程详解 发布时间:2020-09-10 04:53:26 来源:脚本之家 阅读:78 1.pyecharts介绍 Echarts是一款由百度 ...

  3. Python--安装pyecharts包,anaconda环境下如何正确安装神奇可视化pyecharts包[安装的那些事儿]

    Python--安装pyecharts包,anaconda环境下如何正确安装神奇可视化pyecharts包[安装的那些事儿] 更多更多安装教程及软件获取请加关注留言哟~~,若需私信联系博主请加: 一. ...

  4. python做动态折线图_Python数据可视化 pyecharts实现各种统计图表过程详解

    1.pyecharts介绍 Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图 ...

  5. python数据可视化的特点_Python数据可视化 pyecharts实现各种统计图表过程详解

    1.pyecharts介绍 Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图 ...

  6. 数据可视化--pyecharts绘图

    pyecharts 是一个用于生成 Echarts 图表的类库. Echarts 是百度开源的一个数据可视化 JS 库.主要用于数据可视化. 要使用pyecharts绘制地图,首先需要安装一下几个地图 ...

  7. pyecharts本地文件_python数据可视化-pyecharts插件使用文档

    pyecharts是百度开源的可视化插件,可以将设计的可视化图表以html格式保存,配合jupyter可以一键生成动态的html数据分析报告. pyecharts和matplotlib的区别在于,py ...

  8. Python数据可视化-Pyecharts不同的主题风格

    本文介绍 PyEcharts主题风格配置 内容,通过内置提供了 10+ 种不同的风格,另外也提供了便捷的定制主题的方法. Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设 ...

  9. python3可视化-pyecharts图形库,大饼图Pie的创建和使用

    在pyecharts中,使用Pie这个类来创建饼图.饼图也是我们经常用到的可视化图形. 我们常说,老板给员工画了大大的饼图,比如,当年的马云就给阿里巴巴的18罗汉画了个大饼,重要的是,这个大饼最终大家 ...

最新文章

  1. 关于django 如何实现简单api的restful 接口
  2. OpenCV源代码分析——SGBM
  3. 你知道你的程序到底能使用多少内存吗?
  4. Struts result param详细设置
  5. javaSE各阶段练习题--面向对象-多态-抽象类-接口
  6. zabbix巡检脚本
  7. 光眼图和电眼图_一种电眼调试方法及装置制造方法及图纸
  8. 腾讯云短信发送api(SendSms)--java
  9. 黑马程序员—文件读取路径及行读取的方式,今晚总算有点小懂
  10. HDU2795 billboard【转化为线段树。】
  11. 与程序员相关的CPU缓存知识
  12. arduino雨滴传感器和舵机控制
  13. MagicDraw-BDD图
  14. udhcpc 移植和使用
  15. c语言中符号常量的作用 定义,c语言常量定义规则知识点总结
  16. recovery 工作流程
  17. 一文搞明白SAD DNS(Side channel Attacked DNS)/ CVE-2020-25705
  18. 黑客或可完全控制设备,苹果紧急发布补丁!
  19. 想要用电脑玩游戏,好的显示器必不可少!电脑显示器要怎么选?
  20. 小程序手机号码中间四位隐藏

热门文章

  1. alert点击确定后跳转_公众号/h5 跳转到小程序填坑指南
  2. php分页循环生成htnl,PHP分页类,生成分页html字符串
  3. android q测试机型,小米9安卓Q系统刷机包开启测试 小米Android Q适配机型一览
  4. 数组索引必须为正整数或逻辑值是什么意思_贪心算法:K次取反后最大化的数组和...
  5. 我的新书《Java编程讲义》新鲜出炉啦,欢迎订阅
  6. 算术表达式的实现,支持加减乘除,括号运算,表达式转二叉树
  7. 【slighttpd】基于lighttpd架构的Server项目实战(3)—MasterWorker模式
  8. strace用法学习
  9. vue项目打包与配置-学习笔记
  10. Scala入门到精通——第二十三节 高级类型 (二)