python使用pyecharts绘制地图

您所在的位置:网站首页 非洲国家分布图片 python使用pyecharts绘制地图

python使用pyecharts绘制地图

2023-07-26 23:25| 来源: 网络整理| 查看: 265

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。

我们利用pyecharts和pycharm实现地图数据的可视化。

pyecharts导包报错请戳: https://blog.csdn.net/weixin_43746433/article/details/91188733

pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。

地图文件被分成了三个 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")

在这里插入图片描述 参考:https://www.jianshu.com/p/e0b2851672cd



【本文地址】


今日新闻


推荐新闻


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