前言

pyecharts 是基于百度开源的Echarts、方便与Python 进行对接、直接可以用于python的一个库。

今天我们利用pyecharts实现职位数据的地图可视化。

安装pyecharts

pyecharts 的安装只需要在命令端输入以下命令。

pip install pyecharts

如果下载失败或者觉得下载太慢,可以用镜像进行下载:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts

pyecharts 目前不再自带地图 js 文件。所以要自行安装对应的地图文件包,如果下载失败或者觉得下载太慢,可以用镜像进行下载。

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

小试牛刀

导入需要的模块:

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import *
from pyecharts.globals import ThemeType

先简单的绘制出中国地图:

# 数据
data = {'河南': 25, '北京': 65, '河北': 111, '辽宁': 221, '江西': 1, '上海': 22, '安徽': 56, '江苏': 78, '湖南': 9,'浙江': 13, '海南': 62, '广东': 262, '湖北': 87, '黑龙江': 171, '澳门': 61, '陕西': 171, '四川': 67, '内蒙古': 63, '重庆': 93,'云南': 16, '贵州': 12, '吉林': 33, '山西': 312, '山东': 511, '福建': 46, '青海': 71, '天津': 91,'其他': 71}
# 以元组的方式输出数值
data_list = list(zip(data.keys(), data.values()))
map_ = (Map()  # 如果想绘制其它图形,可修改Map.add(series_name="中国地图",data_pair=data_list,maptype="china").set_global_opts(title_opts=opts.TitleOpts(title="公 众 号 :Python与Excel之交")# 设置地图显示最大值,visualmap_opts=opts.VisualMapOpts(max_=500)))
map_.render_notebook()

实战

导入数据源:

df = pd.read_csv('D:\数据小刀\爬虫④\前程无忧\前程无忧.csv')
df.head()


我们先对数据源的工作地址,进行字符串的切割,取出上海、广州等城市名称:

df["工作地址"] = df["工作地址/经验要求/学历要求/招聘人数"].str.split(',', expand=True)[0]
df["工作地址"] = df["工作地址"].str.split('-', expand=True)[0]


因为maptype=‘china’时,地图只显示全国省级行政区,数据只能是省级行政区,不能显示城市名称,所以我们需要导入经纬度,绘制散点图。

df1 = pd.read_csv('D:\数据小刀\爬虫④\拉勾网\中国城市地理坐标.csv')
coords = {df1.iloc[i]['地名']: [df1.iloc[i]['经度'], df1.iloc[i]['纬度']] for i in range(len(df1))}

去除没有经纬度的地区和不必要的字符串:

df = df[(df['工作地址'] != '异地招聘')]
df = df[(df['工作地址'] != '工作地址/经验要求/学历要求/招聘人数')]
df = df[(df['工作地址'] != '雄安新区')]

统计每个城市的职位数量,并以元组的方式输出数值:

df_0 = df['工作地址'].astype("str").value_counts()
df_0 = df_0.sort_values(ascending=False)
regions = df_0.index.to_list()
values = df_0.to_list()
data_list = list(zip(regions, values))


设置背景颜色:

geo = Geo(init_opts=opts.InitOpts(theme=ThemeType.DARK))

设置地图类型为中国地图,当maptype等于广东、广州时,可修改为对应的地图:

geo.add_schema(maptype='china')

设置经纬度:

for key, value in coords.items():geo.add_coordinate(key, value[0], value[1])

设置图例,数据,散点大小,散点颜色:

geo.add('',data_list, symbol_size=10, itemstyle_opts=opts.ItemStyleOpts(color='blue'))

设置为数据不显示,设置为散点图,当type等于heatmap时可修改为热力图:

geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False), type='scatter')

设置地图显示最大值:

geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=200),title_opts=opts.TitleOpts(title='公众号:Python与Excel之交'))
geo.render_notebook()   # 打开


取出上海的行政区,利用Map进行地图可视化:

df["工作地址"] = df["工作地址/经验要求/学历要求/招聘人数"].str.split(',', expand=True)[0]
df8 = df.工作地址.str.contains('上海-.*')  # 利用正则表达式进行匹配
df8 = df[df8]
df8 = df8["工作地址"].str.split('-', expand=True)[1]
df8 = df8.astype("str").value_counts()
df8 = df8.sort_values(ascending=False)
regions = df8.index.to_list()
values = df8.to_list()
data_list = list(zip(regions, values))
map_ = (Map(init_opts=opts.InitOpts(theme=ThemeType.DARK)).add("",data_pair=data_list,maptype="上海")    # 修改地图.set_global_opts(legend_opts = opts.LegendOpts(is_show = False),title_opts=opts.TitleOpts(title="公 众 号 :Python与Excel之交"),visualmap_opts=opts.VisualMapOpts(max_=100,is_piecewise=False)).set_series_opts(label_opts=opts.LabelOpts(is_show = False,font_size=15)))
map_.render_notebook()

利用pyecharts对职位数据进行地图可视化相关推荐

  1. 利用Excel表格中数据生成地图类型可视化图形案例

    利用Excel表格中数据生成地图类型可视化图形案例 一.准备工作 二.读取excel数据 三.创建地图并进行设置 创建地图 设置地图相关参数 四.渲染保存为网页文件 写在最后 某人工作不设限,创新不断 ...

  2. python数据可视化利用_利用pyecharts实现python数据可视化

    **python 利用pyecharts实现python数据可视化 **web pyecharts是一种交互式图表的表达方式. pyecharts是一款将python与echarts结合的强大的数据可 ...

  3. 使用Pyecharts进行全国水质TDS地图可视化全过程1:总体过程简述

    目录 一.效果图 二.实现过程1:数据来源及清洗 三.实现过程2:数据分析 四.实现过程3:数据可视化 分享使用Pyecharts进行全国水质TDS地图可视化的全过程. 一.效果图 本次对全国TDS进 ...

  4. 使用Pyecharts进行全国水质TDS地图可视化全过程6:利用Python+Selenium自动化获取页面信息

    本文是扩展文,介绍利用Selenium模拟人工操作,从网页上自动获取信息.这样一种方法可以处理重复性工作,解放双手,提高工作效率.属于使用Pyecharts做可视化之前的一些其他探索. 在利用Exce ...

  5. 使用Pyecharts进行全国水质TDS地图可视化全过程5:利用Excel地图实现美国水质地图可视化

    本文是扩展文,介绍使用Excel进行地图可视化.属于使用Pyecharts做可视化之前的一些其他探索. 今天我们讲下如何利用Excel自带的Power Map做可视化,2013版EXCEL开始,自带了 ...

  6. 利用pyecharts对JSON数据进行可视化操作

    由于pyecharts背后封装的js库,会涉及到数据类型转化.它暂时要求输入数据必须是python的基础数据类型,比如字符串,列表,字典,而不能是序列这样的数据类型.因此序列输入量需要事先被转化为li ...

  7. 使用Pyecharts进行全国水质TDS地图可视化全过程7:使用pyecharts画地图总述

    目录 一.什么是pyecharts? 二.安装pyecharts? 三.pyecharts使用文档 四.pyecharts画地图 五.需要注意的事项 六.地图的下钻 本文为总述.后面几篇文章再详细的拿 ...

  8. 使用Pyecharts进行全国水质TDS地图可视化全过程3:用Python拆分物流地址以及实现地址补全

    目录 1.提取省市区信息 2.提取街镇乡.村或居委会信息 3.自动补全省市信息 简介:本文介绍用Python编程,实现对物流地址的拆分及补全.在快递物流中会用到这种技术. 在TDS地图可视化项目中,我 ...

  9. 使用Pyecharts进行全国水质TDS地图可视化全过程4:使用Python将Excel表拆分至多个Excel文件

    在TDS可视化项目中,我们需要对省.市.区各个层级区域的TDS数据进行计算.它涉及的数量很大,大概有3211个区域的数据. 我们当然可以编程直接在一个表格上处理,但是涉及到这么多区域,它会很容易出错, ...

最新文章

  1. Android官方技术文档翻译——Gradle 插件用户指南(7)
  2. 使用split进行分割时遇到特殊字符的问题
  3. Python实现不规则txt文本数据读取并转换为csv文本
  4. 从源代码角度分析ViewStub 疑问与原理
  5. 190707Python-Redis
  6. Android系统手机端抓包方法(tcpdump)
  7. kafka sqs 与_RabbitMQ和Kafka的比较
  8. 用VS调试 javascript
  9. 卡巴斯基安全软件2014(78三年,逢周一68)时间:2013.10.1-2013.10.31
  10. C/C++预处理过程详细梳理(预处理步骤+宏定义#define/#include+inline函数+宏展开顺序+条件预处理+其它预处理定义)
  11. 图像超分辨率技术简介
  12. Sap hana 升级思路
  13. 远程访问openwrt路由器+配置动态DNS
  14. 自然语言和计算机语言二义性,二级C++精品课程第一章第一节计算机语言及其发展...
  15. RNNoise: Learning Noise Suppression(深度学习噪声抑制)(2)
  16. 拼多多代发商如何一件代发自动下单?
  17. 奥运排行榜(25 分)
  18. 13.计算机基础之多媒体技术与多媒体计算机系统
  19. Unity3D之如何将包大小减少到极致
  20. python format使用

热门文章

  1. SAP 项目实施阶段全过程
  2. Simulink 自动代码生成电机控制:非线性磁链观测器
  3. 利用word和excel实现中英文互换
  4. 【windows技术】保存网页到桌面
  5. Office之Docx转Doc操作(c#)
  6. R语言初级教程(04): 算术运算
  7. 1-Java面试题-基础篇
  8. SiC and GaN vs. IGBTs争夺霸权,迫在眉睫的拔河比赛
  9. 【Ubuntu】自动加载第三方ko模块
  10. MFC绘制有理柱面和圆锥面