我爬了拉勾网搜索“设计”职位的招聘信息,详见Python爬虫获取拉勾网招聘信息。并用pyecharts画了地图Geo,Map,和条形图。详见拉勾网“设计”职位数据分析之用pyecharts画地图Geo,Map。拉勾网“设计”职位数据分析之用pyecharts画条形图Bar
接下来我们继续处理其他信息,分析一下学历需求以及设计师的类型,并用pyecharts画饼图(南丁格尔图玫瑰图)Pie
首先还是需要处理一下数据:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.globals import ThemeType
处理数据这部我总觉得我的方法太笨重了,如果各位大神有什么好方法跪求评论区指点一二吖
df = pd.read_excel('lagou_sj0309_155511.xlsx')
result=pd.value_counts(df['education'])
resulted=dict(result)
ed = list(resulted.keys())
edvalues = list(resulted.values())
edvaluesint=[]
for i in edvalues:
edvaluesint.append(int(i))
result=pd.value_counts(df['education'])
resulted=dict(result)
ed = list(resulted.keys())
edvalues = list(resulted.values())
edvaluesint=[]
for i in edvalues:
edvaluesint.append(int(i))
from pyecharts import options as opts
from pyecharts.charts import Pie
c4 = (
Pie(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add(
"",
[list(z) for z in zip(ed, edvaluesint)],
radius=["30%", "75%"],
# 饼图的半径,数组的第一项是内半径,第二项是外半径
center=["25%", "50%"],
# 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标
rosetype="radius",
#选择南丁格尔图类型,radius:扇区圆心角展现数据的百分比,半径展现数据的大小
label_opts=opts.LabelOpts(is_show=False),
)
.add(
"",
[list(z) for z in zip(ed, edvaluesint)],
radius=["30%", "75%"],
center=["75%", "50%"],
rosetype="area",#选择南丁格尔图类型,area:所有扇区圆心角相同,仅通过半径展现数据大小
)
.set_global_opts(title_opts=opts.TitleOpts(title="学历要求"))
)
c4.render('学历饼图.html')
c4.render_notebook()
还可以用Pie画图例是滚动轴的饼图
result=pd.value_counts(df['secondType'])
resultst=dict(result)
st= list(resultst.keys())
stvalues = list(resultst.values())
stvaluesint=[]
for i in stvalues:
stvaluesint.append(int(i))
c6 = (
Pie(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add(
"",
[
list(z)
for z in zip(
st ,
stvaluesint ,
)
],
#设置圆心坐标
center=["40%", "57%"],
)
.set_global_opts(
title_opts=opts.TitleOpts(title="设计类型"),
legend_opts=opts.LegendOpts(
type_="scroll",
#'scroll':可滚动翻页的图例。当图例数量较多时可以使用。
pos_left="80%",
orient="vertical",
# 图例列表的布局朝向。垂直/水平
pos_top="15%"
# 图例组件离容器上侧的距离。
),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
#c6.render('设计类型饼图.html')
c6.render_notebook()
其他样式的饼图也大同小异,修改一些参数即可