拉勾網“設計”職位數據分析之用pyecharts畫餅圖(南丁格爾圖玫瑰圖)Pie

我爬了拉勾網搜索“設計”職位的招聘信息,詳見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()

設計類型餅圖
其他樣式的餅圖也大同小異,修改一些參數即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章