python使用pyecharts绘制地图

python使用pyecharts绘制地图一 查看数据 importpandas 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

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

我们利用pyechartspycharm实现地图数据的可视化。

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232095.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号