我爬了拉勾網搜索“設計”職位的招聘信息,詳見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()
其他樣式的餅圖也大同小異,修改一些參數即可