拉勾网“设计”职位数据分析之用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()

设计类型饼图
其他样式的饼图也大同小异,修改一些参数即可

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