当前位置:   article > 正文

详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图_pyecharts 中国区县地图

pyecharts 中国区县地图

转载: 详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)

         Pyecharts绘制全球流向图

           pyecharts中文教程官网

目录 

安装对应的python模块

世界地图

中国地图

省市地图

区县地图

热力图

动态流向图


安装对应的python模块

根据 pyecharts使用教程 :

自从 v0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。

(1)、全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图
(2)、中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区
(3)、中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市
(4)、中国县区级地图: echarts-china-counties-pypkg (4.1MB):2882 个中国县·区
(5)、中国区域地图: echarts-china-misc-pypkg (148KB):11 个中国区域地图,比如华南、华北

需要这些地图的朋友,可以装 pip 命令行:

pip install echarts-countries-pypkg

pip install echarts-china-provinces-pypkg

pip install echarts-china-cities-pypkg

pip install echarts-china-counties-pypkg

pip install echarts-china-misc-pypkg

pip install echarts-united-kingdom-pypkg

更多的地图数据可查看https://github.com/echarts-maps。

世界地图

  1. from pyecharts import Map
  2. value = [95.1, 23.2, 43.3, 66.4, 88.5]
  3. attr = ["China", "Canada", "Brazil", "Russia", "United States"]
  4. map0 = Map("世界地图示例", width=800, height=400)
  5. map0.add("世界地图", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000')
  6. map0.render(path="世界地图.html")

中国地图

  1. from pyecharts import Map
  2. province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9,'浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3,'云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '天津': 1,'其他': 1}
  3. provice = list(province_distribution.keys())
  4. values = list(province_distribution.values())
  5. map = Map("中国地图", '中国地图', width=600, height=400)
  6. map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,
  7. visual_text_color='#000')
  8. map.render(path="中国地图.html")

省市地图

  1. from pyecharts import Map
  2. map2 = Map("贵州地图", '贵州', width=600, height=400)
  3. city = ['贵阳市', '六盘水市', '遵义市', '安顺市', '毕节市', '铜仁市', '黔西南布依族苗族自治州', '黔东南苗族侗族自治州', '黔南布依族苗族自治州']
  4. values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1]
  5. map2.add('贵州', city, values2, visual_range=[1, 10], maptype='贵州', is_visualmap=True, visual_text_color='#000')
  6. map2.render(path="贵州地图.html")

区县地图

  1. from pyecharts import Map
  2. quxian = ['观山湖区', '云岩区', '南明区', '花溪区', '乌当区', '白云区', '修文县', '息烽县', '开阳县', '清镇市']
  3. values3 = [3, 5, 7, 8, 2, 4, 7, 8, 2, 4]
  4. map3 = Map("贵阳地图", "贵阳", width=600, height=400)
  5. map3.add("贵阳", quxian, values3, visual_range=[1, 10], maptype='贵阳', is_visualmap=True)
  6. map3.render(path="贵阳地图.html")

热力图

  1. from pyecharts import Geo
  2. keys = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙', '贵阳', '乌鲁木齐']
  3. values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60, 1.2, 3.7]
  4. geo = Geo("全国主要城市空气质量热力图", "data from pm2.5", title_color="#fff",title_pos="left", width=600, height=400,background_color='#404a59')
  5. geo.add("空气质量热力图", keys, values, visual_range=[0, 5], type='effectScatter',visual_text_color="#fff", symbol_size=15,is_visualmap=True, is_roam=True) # type有scatter, effectScatter, heatmap三种模式可选,可根据自己的需求选择对应的图表模式
  6. geo.render(path="全国主要城市空气质量热力图.html")

动态流向图

更新:    pyecharts已更新,更新方法:

pip install  --upgrade pyecharts

中文官网教程:https://pyecharts.org/#/

此内容具体网址:https://pyecharts.org/#/zh-cn/geography_charts?id=geo%ef%bc%9a%e5%9c%b0%e7%90%86%e5%9d%90%e6%a0%87%e7%b3%bb

根据此方法获得的图示动态的,如果需要动态插入文章中可以制成GIF图片,我的制作方法是利用EV录屏软件录制一个动态周期的视频,然后在利用 动态图(GIF)制作方法这个网址,绘制此gif图片。当然如果你能保证每次截取的图片大小一样,可以直接多截几张图,利用一些网站,将图片合成gif也行。

绘图代码:

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2020/2/23 13:13
  4. # @Author : ystraw
  5. # @Site :
  6. # @File : t3.py
  7. # @Software: PyCharm Community Edition
  8. # @function: 绘制城市动态流向图
  9. # 导入Geo包,注意1.x版本的导入跟0.x版本的导入差别
  10. # 更新方法:pip install --upgrade pyecharts
  11. from pyecharts.charts import Geo
  12. # 导入配置项
  13. from pyecharts import options as opts
  14. # ChartType:图标类型,SymbolType:标记点类型
  15. from pyecharts .globals import ChartType, SymbolType
  16. geo = Geo()
  17. # 新增坐标点,添加名称跟经纬度, 也就是当地图中不包含这个地名的坐标时,自己加入!
  18. geo.add_coordinate('新地点', 122.480539, 35.235929)
  19. # 地图类型,世界地图可换为world
  20. geo.add_schema(maptype="china")
  21. # 添加数据点
  22. geo.add("",[("北京",10),("上海",20),("广州",30),("成都",40),("哈尔滨",50),("新地点",40)],type_=ChartType.EFFECT_SCATTER)
  23. # 添加流向,type_设置为LINES,涟漪配置为箭头,提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle',
  24. #'diamond', 'pin', 'arrow', 'none'
  25. geo.add("geo-lines",
  26. [('北京', '广州'), ('上海', '上海'), ('广州', '成都'),('成都', '哈尔滨'), ('新地点', '哈尔滨')],
  27. type_=ChartType.LINES,
  28. effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW,symbol_size=10,color="yellow"),
  29. linestyle_opts=opts.LineStyleOpts(curve=0.2),
  30. is_large=True)
  31. # 不显示标签
  32. geo.set_series_opts(label_opts=opts.LabelOpts(is_show=True))
  33. # 设置图标标题,visualmap_opts=opts.VisualMapOpts()为左下角的视觉映射配置项
  34. geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(),title_opts=opts.TitleOpts(title="城市动态流向图"))
  35. # 直接在notebook里显示图表
  36. geo.render_notebook()
  37. # 生成html文件,可传入位置参数
  38. geo.render("城市动态流向图2.html")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/153602
推荐阅读
相关标签
  

闽ICP备14008679号