pyecharts地图全解

文章正文
发布时间:2024-11-01 09:14

地图文件被分成了三个 Python 包,分别为:
全球国家地图: echarts-countries-pypkg (1.9MB)
中国省级地图: echarts-china-provinces-pypkg (730KB)
中国市级地图: echarts-china-cities-pypkg (3.8MB)

直接使用python的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

一.查看数据
从51job爬取的大数据工作在各城市分布数据

import pandas as pd data=pd.read_csv('test_datasets_finally.csv',delimiter='#',header=0) df=pd.DataFrame(data) print(df.shape) print(df.loc[:,'area'].nunique())#地区数 area=df.loc[:,'area'].value_counts()#每个地区数量 #area=pd.DataFrame(area) print(area.shape) print(area.head())

在这里插入图片描述


可以看到,地区数据格式为dataframe格式,转换为列表

area2=area.values.tolist() area=area.reset_index() area1=area.loc[:,'index'].tolist() print('地区',area1) print('数量',area2)

在这里插入图片描述


二.绘制中国地图

maptype=‘china’ 只显示全国直辖市和省级,数据只能是省名和直辖市的名称

1.绘制分布图
这三个可直接使用全国城市

from pyecharts import Bar from pyecharts import Geo from pyecharts import Map map = Map("大数据工作分布图", "data from 51job",title_color="#404a59", title_pos="center") map.add("", area1,area2 , maptype='china',is_visualmap=True,visual_text_color='#000',is_label_show=True) map.render("./job_pic/大数据工作城市分布.html") #map.render(path='snapshot.png') #map.render(path='snapshot.pdf')

在这里插入图片描述


2.绘制热力图

geo = Geo("大数据工作分布热力图", "data from 51job", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') geo.add("大数据工作分布热力图", area1, area2, visual_range=[0, 35], maptype='china',type='heatmap',visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False) geo.render('./job_pic/大数据工作分布热力图.html')

在这里插入图片描述


3.绘制评分图

geo = Geo("大数据工作分布城市评分", "data from 51job", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') # type="effectScatter", is_random=True, effect_scale=5 使点具有发散性 geo.add("空气质量评分", area1, area2, type="effectScatter",maptype='china', is_random=True, effect_scale=5, visual_range=[0, 5],visual_text_color="#fff", symbol_size=10, is_visualmap=True, is_roam=False) geo.render("./job_pic/大数据工作分布城市评分.html")

在这里插入图片描述


三.省份地图
河南地图 数据必须是省内放入城市名

# 城市 -- 指定省的城市 xx市 city = ['郑州市', '安阳市', '洛阳市', '濮阳市', '南阳市', '开封市', '商丘市', '信阳市', '新乡市'] values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1] map2 = Map("河南地图",'河南', width=1200, height=600) map2.add('河南', city, values2, visual_range=[1, 10], maptype='河南', is_visualmap=True, visual_text_color='#000') map2.render(path="./job_pic/河南地图.html")

在这里插入图片描述


商丘地图 数据为商丘市下的区县

# 区县 -- 具体城市内的区县 xx县 quxian = ['夏邑县', '民权县', '梁园区', '睢阳区', '柘城县', '宁陵县'] values3 = [3, 5, 7, 8, 2, 4] map3 = Map("商丘地图",'商丘', width=1200, height=600) map3.add("商丘", quxian, values3, visual_range=[1, 10], maptype='商丘', is_visualmap=True, visual_text_color='#000') map3.render(path="./job_pic/商丘地图.html")

在这里插入图片描述


四.世界地图

#世界地图数据 value = [95.1, 23.2, 43.3, 66.4, 88.5] attr= ["China", "Canada", "Brazil", "Russia", "United States"] map0 = Map("世界地图示例", width=1200, height=600) map0.add("世界地图", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000') map0.render(path="./job_pic/世界地图.html")

在这里插入图片描述