day13-利用pyecharts对全国数据分析岗位数据进行分析

利用pyecharts对全国数据分析岗位数据进行分析

import openpyxl
from pyecharts.charts import Pie,Bar,WordCloud
from pyecharts import options

# 1.提取excel中的数据
wb = openpyxl.open('files/数据分析岗位数据.xlsx')
sheet = wb.active
# sheet = wb['sheet1']

# ============================学历要求饼状图==================================
data = {}
m_r = sheet.max_row
for r in range(2,m_r+1):
    value = sheet.cell(r,7).value
    if value not in data:
        data[value] = 1
    else:
        data[value] += 1
# print(data)

pie_data = []
for key in data:
    pie_data.append((key,data[key]))
print(pie_data)

pie = Pie()
pie.add(
    '全国数据分析岗位学历要求',
    pie_data,
    # 分别设置圆的内圆半径和外圆半径
)

pie.set_global_opts(
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    title_opts=options.TitleOpts(
        title='全国数据分析岗位学历要求情况',
        pos_left=350
    )
)

pie.set_series_opts(
    label_opts=options.LabelOpts(
        # {b} - 数据名称、{d} - 百分比比值
        formatter='{b}-{d}%'    # 占比
    )
)

pie.render('files/全国数据分析岗位学历要求饼图.html')


# =================================工作经验柱状图====================================
data1 = {}
for r in range(2,m_r+1):
    value1 = sheet.cell(r,6).value
    if value1 not in data1:
        data1[value1] = 1
    else:
        data1[value1] += 1
# print(data1

bar = Bar()
x_data = []
y_data = []
for x in data1:
    x_data.append(x)
    y_data.append(data1[x])
bar.add_xaxis(x_data)
bar.add_yaxis('数量',y_data)

bar.set_global_opts(
    # 设置标题
    title_opts=options.TitleOpts(
        title = '全国数据分析岗位工作经验要求情况',
        pos_right = 250,     # 标题位置
        text_align='center'    # 标题是否水平居中
    ),
    # 设置图例
    legend_opts=options.LegendOpts(
        is_show= False
    ),
    # 设置工具箱
    toolbox_opts=options.ToolboxOpts(
        is_show=True
    ),
    # 设置区域缩放
    datazoom_opts=options.DataZoomOpts(
        is_show=True
    ),
    # x轴和y轴的配置
    xaxis_opts=options.AxisOpts(
        name = '工作经验要求'
    ),
    yaxis_opts=options.AxisOpts(
        name = '数量'
    )
)

bar.set_series_opts(
    # 设置标签
    label_opts=options.LabelOpts(
        is_show=False
    ),
    # 设置标记点
    markpoint_opts=options.MarkPointOpts(
        data=[options.MarkPointItem(name='最大值',type_='max'),options.MarkPointItem(name='最小值',type_='min')]
    )
)

bar.render('files/全国数据分析岗位工作经验柱状图.html')

# =========================全国数据分析岗位能力要求词云图===================================
data2 = {}
m_r = sheet.max_row
for r in range(2,m_r+1):
    value = sheet.cell(r,5).value
    if value not in data2:
        data2[value] = 1
    else:
        data2[value] += 1
# print(data2)

wordcloud_data = []
for key in data2:
    wordcloud_data.append((key,data2[key]))
# print(wordcloud_data)

wc = WordCloud()
wc.add('',wordcloud_data,shape='triangle')
wc.render('files/全国数据分析岗位能力要求词云图.html')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值