详解python利⽤pyecharts画地图(热⼒图)(世界地图,省市地图,区县地图)、动态流向图
转载:
⽬录
安装对应的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
世界地图
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')
中国地图
from pyecharts import Map
province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9,'浙江': 13, '海南': 2, '⼴东': 22, '湖北': 8, ' provice = list(province_distribution.keys())
values = list(province_distribution.values())
pycharm communitymap = Map("中国地图", '中国地图', width=600, height=400)
map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,
visual_text_color='#000')
省市地图
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')
区县地图
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)
热⼒图
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) # der(path="全国主要城市空⽓质量热⼒图.html")
动态流向图
更新:    pyecharts已更新,更新⽅法:
pip install  --upgrade pyecharts
根据此⽅法获得的图⽰动态的,如果需要动态插⼊⽂章中可以制成GIF图⽚,我的制作⽅法是利⽤EV录屏软件录制⼀个动态周期的视频,然后在利⽤ 这个⽹址,绘制此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⾥显⽰图表
# ⽣成html⽂件,可传⼊位置参数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。