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

您所在的位置:网站首页 上海所有区县地图分布图 详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图

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

2024-06-28 10:06| 来源: 网络整理| 查看: 265

温馨提示:本文撰写时未指明一些工具包的版本,大家运行可能会出现一些版本问题,如果遇到问题可以参考本文评论区中各位大神的解决办法!

转载: 详解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。

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

中国地图 from pyecharts import Map 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} provice = list(province_distribution.keys()) values = list(province_distribution.values()) map = Map("中国地图", '中国地图', width=600, height=400) map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True, visual_text_color='#000') map.render(path="中国地图.html")

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

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

热力图 from pyecharts import Geo keys = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙', '贵阳', '乌鲁木齐'] 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] geo = Geo("全国主要城市空气质量热力图", "data from pm2.5", title_color="#fff",title_pos="left", width=600, height=400,background_color='#404a59') 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三种模式可选,可根据自己的需求选择对应的图表模式 geo.render(path="全国主要城市空气质量热力图.html")

动态流向图

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

pip install  --upgrade pyecharts

中文官网教程:pyecharts - A Python Echarts Plotting Library built with love.

此内容具体网址: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也行。

绘图代码:

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3