• 数据可视化(python)----中国近十年就业GDP对比


    中国近十年就业GDP的发展状况

    总分

    一、选题的背景介绍(15分)

    为什么要选择该主题?要达到的数据分析目标是什么?从社会、经济、技术、

    数据来源等方面进行描述。(不少于200字)

    由于我国人口众多,素质较低,而且就业观念较落后,导致我国劳动力普遍廉价,就业职工工资普遍低下。刚毕业的大学生人数众多,城市发展速度与农村发展速度不平衡,各省市自治区的就业条件和国家政策,就业环境不同,导致职工工资存在行业间,区域间,农村与城市之间的工资水平存在着巨大的差异,从另一个方面反映出了中国贫富差距的不断扩大。对我国就业人员职工工资的研究,对我国的社会保障政策和就业政策,教育政策等具有重要的决策意义。也为对我国经济社会的研究提供了一个因素。我国就业职工工资水平的地区差异已经日益成为我国政府重视的一个问题。中国就业分析数据这一重要的就业指标,探寻其影响因素对于政府的正确决策,经济的可持续快速发展,社会稳定具有重要意义,数据来源于国家统计局。这也是现今相关研究就业问题的重要方向。

    二、数据可视化分析的步骤(60分)

    内容:

    1.说明数据集获取的过程。如果数据集是采集的,请说明采集的来源与方式;如果是直接获取的,请说明数据源采用的是哪一个开放的数据集?

    2.说明本数据集的数据内容。

    3.说明数据处理的过程。

    4.说明数据可视化分析的过程。

    要求:

    1.数据集的分析结果用可视化的图表示,并且要对每张图表做详细合理的说明,采用数据集的哪些数据生成图表,说明图表呈现的数据分布情况。如果图表可以预测出未来的发展趋势,也需进行说明。

    2.第8章中的高级图表至少要用1种。

    3.每张图表要有标题、图例、X/Y轴要设置标签;图表中的字体大小、颜色搭配要合理;图表元素布局要合理。

    1. 数据集获取的过程

    采集分析的数据是中国近十年就业与平均工资的发展状况,获取信息的方式是通过国家统计局网站获取的就业模块数据集。

    2.说明本数据集的数据内容

    获取到的数据集包括年份、中国近十年的劳动力、三次产业分配、城乡就业人数、就业单位、平均工资、失业率这几个方面的数据信息。

    3.数据处理过程

    将获取到的数据进行拆分清洗,然后将获取到的数据进行区分,根据不同图形的特点用不同的数据来完成各个图形。

    4.说明数据可视化分析的过程

    数据可视化过程主要绘制了7个图形,包括中国近10年劳动力总和折线图。中国近5年三次产业分布就业人员柱形图、中国近10年城乡分就业人员数折线图、中国2021年国有单位和城镇集体单位就业人员饼图、中国近10年私营企业和个人个体就业人数棉棒图、中国2021年就业人员平均工资饼图、中国近10年失业人口总和折线图。

    (1)中国近10年劳动力总和折线图

    图在我的上传资源里面

    该图采用了年份、中国劳动力总和折线图这些数据生成了折线图,x轴为年份,y轴为中国劳动力总人数(万人)。

    从图表中可以看出中国的劳动力总人口在2012到2015年期间是持续上升的,但是从2015年开始就断崖式下降了下来。在2018年到2019年有回升趋势,但是从图表的数据分析来看,总劳动力依旧是下滑了许多,中国劳动力人口红利期在慢慢下降。

    (2)中国近5年三次产业分布就业人员柱形图

     图在我的上传资源里面  

    该图采用了年份、中国三次产业分布就业人员的值这些数据生成了柱形图,x轴为年份,y轴为就业人数(万人)。

    从图表中可以反映出中国第一产业的占比依旧很大,随着时间的推移,第二产业逐渐减少,第三产业在不断的上升。

    (3)中国近10年城乡分就业人员数折线图

    图在我的上传资源里面  

    该图数据采集采用了年份、中国近十年的城乡就业人数的值,x轴为年份,y轴为城乡就业人数(万人)。

    从该图可以看出来乡村的就业人数在2012年时候是高于城镇的就业人数的,但是随着时间的推移,2012年后直至2021年就业人员大多数流向了城镇,乡村就业人口锐减,出现了两极分化。

    (4)中国2021年国有单位和城镇集体单位就业人员饼图

    图在我的上传资源里面  

    该图采用了年份、中国近十年的国有单位就业人数值和城镇集体就业单位人数值生成了两个饼图

    在国有单位饼图中可以了解到教育业和卫生社会保障占比是很大的,其他行业人员占比相对来说少一点。在城镇集体单位饼图中教育和卫生保障还有制造业的占比都很大。可以从图中分析出国家重视教育和社会卫生保障。

    (5)中国近10年私营企业和个人个体就业人数棉棒图

    图在我的上传资源里面  

    该图将画布规划为1×2的矩阵区域,采用了年份、采用了中国近十年的私营企业和个人就业人员总数值绘制了棉棒图,x轴为年份,y轴为就业人数(万人)。

    分析该图表可以看到中国近十年的私营就业人员是一直高于个人个体就业的。

    (6)中国2021年就业人员平均工资饼图

    图在我的上传资源里面  

    该图采用了年份、中国2021年就业人员平均工资和各个就业单位就业总人数的值。

    该图可以形象的分析出在国有单位中就业的人数占比是最大的,特意用爆炸式效果形象的表现出来,在其他的就业单位都有平均的分布,分析出国家宏观经济的调控卓有成效。

    (7)中国近10年失业人口总和折线图

    图在我的上传资源里面

    该图采用了中国近十年的城镇登记失业人员总数进行数据采集绘制成了饼图,x轴为年份,y轴为就业人数(万人)

    通过该图可以形象的分析出在2012年到2019年失业人口一直维持在一个比较低的状态,但是从2019到2020年过渡期间,以及2021年失业人数一直居高不下,结合国家现状分析这一方面受到新冠病毒影响较大。

    三、总结(15分)

    通过前面各个图表的可视化分析,得出数据集综合分析的结论,结论必需和选题的背景介绍要达到的数据分析目标相对应。(不少于150字)

    通过前面各个图表的可视化分析,可以得出中国劳动力人口在减少,中国人口红利在慢慢下降,在产业方面,第一产业一直是起到经济支柱的作用。人口就业流向城镇值很大,并且第二产业在慢慢向第三产业的一个过渡过程。

    就业人员在国有单位就业比较多。在教育和卫生保障方面国家也提供了大量的岗位,为人们美好生活的一个保障。城镇失业率是城镇失业人数与城镇从业人数及城镇失业人数之和的比值。反映一个国家或地区的城镇劳动力的失业程度。

    通过这些可以分析到国家的宏观经济调控和社会保障做的很好,就业方面保障可以达到人们对美好生活的向往一个需求,国家在慢慢发展的越来越好。

    四、附录(10分)

    完整源代码(代码要做好注释,和说明步骤中的过程、图表对应,代码不少于180行)。

    #折线图.中国劳动力总和

    import matplotlib.pyplot as plt

    import numpy as np

    plt.rcParams['font.sans-serif']=['SimHei']

    plt.rcParams['axes.unicode_minus']=False

    # 准备 x 轴和 y 轴的数据

    x=np.arange(2012,2022)

    China=np.array([78894,79300,79690,80091,79282,79042,78653,78985,78392,78570])

    #设置线条样式、颜色,数据标记的样式,图例

    plt.plot(x,China,'bd-.',label='中国劳动力总和')

    plt.title('中国近10年劳动力人口总数')

    plt.xlabel('年份')

    plt.ylabel('劳动力(万人)')

    for a,b in zip(x,China):

        plt.text(a,b,b,ha='right',va='bottom',size='8') # 获取中国劳动力的值,设置字体位置、大小

    plt.legend()

    plt.grid()

    plt.show()

    图在我的上传资源里面

    # 柱形图.中国三次产业分布就业人员

    import matplotlib.pyplot as plt

    import numpy as np

    plt.rcParams['font.sans-serif']=['SimHei']

    plt.rcParams['axes.unicode_minus']=False

    # 准备 x 轴和 y 轴的数据

    labels = np.arange(2017,2022)

    x = np.arange(0, labels.size)

    y1 = np.array([20295,19515,18652,17715,17010])

    y2 = np.array([21762,21356,21234,21543,21764])

    y3 = np.array([34001,34911,35561,35806,40216])

    #设置柱形宽度、颜色,图例

    bar_width = 0.30

    plt.bar(x, y1, width=bar_width, tick_label=labels,label="第一产业",color="r")

    plt.bar(x + bar_width , y2, width=bar_width, tick_label=labels,label="第二产业",color="b")

    plt.bar(x + 2*bar_width , y3, width=bar_width, tick_label=labels,label="第三产业",color="c")

    plt.xticks(x+bar_width/2, labels)

    #设置标题、X、Y轴的标签

    plt.title('中国三次产业分布就业人员柱形图')

    plt.xlabel('年份')

    plt.ylabel('产业分布(万人)')

    for a,b in zip(x,y1):

        plt.text(a,b,b,ha='center',size='8') # 获取第一产业的人员,设置字体位置、大小

    for a,b in zip(x,y2):

        plt.text(a+0.30,b,b,ha='center',size='8') # 获取第二产业的人员,设置字体位置、大小

    for a,b in zip(x,y3):

        plt.text(a+0.62,b,b,ha='center',size='8') # 获取第三产业的人员,设置字体位置、大小

    plt.legend()

    plt.show()

    图在我的上传资源里面

    # 折线图.中国城乡分就业人员数

    import matplotlib.pyplot as plt

    import numpy as np

    plt.rcParams['font.sans-serif']=['SimHei']

    plt.rcParams['axes.unicode_minus']=False

    # 准备 x 轴和 y 轴的数据

    x=np.arange(2012,2022)

    chengzhen=np.array([37287,38527,39703,40916,42051,43208,44292,45249,46271,46773])

    xiangcun=([38967, 37774, 36646, 35404, 34194, 32850, 31490, 30198, 28793, 27879,])

    #设置线条样式、颜色,数据标记的样式,图例

    plt.plot(x,chengzhen,'Dr-',label='城镇')

    plt.plot(x,xiangcun,'gs-',label='乡村')

    #设置标题、X、Y轴的标签

    plt.title('中国城乡分就业人员数')

    plt.xlabel('年份')

    plt.ylabel('城乡分就业人数(万人)')

    for a,b in zip(x,chengzhen):

        plt.text(a,b,b,ha='right',va='bottom',size='8') # 获取城镇就业人员总值,设置字体位置、大小

    for a,b in zip(x,xiangcun):

        plt.text(a,b,b,ha='left',va='bottom',size='8') # 获取乡村就业人员总值,设置字体位置、大小

    plt.legend()

    plt.grid()

    plt.show()

    图在我的上传资源里面

    # 饼图.国有单位和城镇集体单位就业人员

    %matplotlib auto

    import matplotlib.pyplot as plt

    import numpy as np

    plt.rcParams['font.sans-serif']=['SimHei']

    plt.rcParams['axes.unicode_minus']=False

    # 准备 x 轴和 y 轴的数据

    x = [x for x in range(1, 10)]

    y1 = [58,46,102,69,152,122,966,615,85,22] #国有

    y2 = [2,22,3,7,5,5,32,27,2,9] #城镇

    labels = ['农林牧业', '制造业', '能源供应', '金融业', '科学研究', '公共设施', '教育业', '卫生社会保障', '文化娱乐','房地产']

    # 将画布规划成等分布局的2×2的矩阵区域 , 之后在索引为1的区域中绘制子图

    ax1 = plt.subplot(221)

    ax1.pie(y1, radius=1,labels=labels, autopct='%3.2f%%', pctdistance=0.75)

    ax1.set_title('国有单位就业人员比例')

    # 将画布规划成等分布局的2×2的矩阵区域 , 之后在索引为2的区域中绘制子图

    ax2 = plt.subplot(222)

    ax2.pie(y2, radius=1,labels=labels,autopct='%3.2f%%', pctdistance=0.75)

    ax2.set_title('城镇集体单位就业人员比例')

    plt.tight_layout() # 调整子图之间的距离

    plt.legend(labels, bbox_to_anchor=[1,0], ncol=2) #设置图例的列数、位置

    plt.show(block=True)

    图在我的上传资源里面

    # 棉棒图.私营企业和个人个体就业人数

    %matplotlib auto

    import numpy as np

    import matplotlib.pyplot as plt

    plt.rcParams['font.sans-serif']=['SimHei']

    plt.rcParams['axes.unicode_minus']=False

    # 准备 x 轴和 y 轴的数据

    x = [x for x in range(1, 11)]

    y1 = [11296,12521,14390,16395,17997,19882,21375,22833,23647,24375] #私营企业就业人数

    y2 = [8629,9335,10584,11682,12862,14225,16038,17691,18649,19764] #个体个人就业人数

    fig = plt.figure(figsize=(10, 6), dpi= 80) #指定figure的宽和高,dpi指定绘图对象的分辨率

    labels = np.arange(2012,2022)

    # 将画布规划成等分布局的1×2的矩阵区域 , 之后在索引为1的区域中绘制子图

    ax1 = plt.subplot(121)

    markerline, stemlines, baseline = ax1.stem(x, y1, linefmt='--',markerfmt='o', label='TestStem', use_line_collection=True)

    # 设置棉棒图线段的属性

    plt.setp(stemlines, lw=1)

    ax1.set_title('中国近十年的私营企业棉棒图', fontdict={'size':16})

    ax1.set_xlabel('年份')

    ax1.set_ylabel('私营企业就业人员(万人)')

    ax1.set_xticks(x)

    ax1.set_xticklabels(labels, rotation=60)

    # 获取私营企业就业人数值,设置字体大小、位置

    for temp_x, temp_y in zip(x, y1):

        ax1.text(temp_x, temp_y + 0.5, s='{}'.format(temp_y), ha='center', va='bottom', fontsize=8)

    # 将画布规划成等分布局的1×2的矩阵区域 , 之后在索引为2的区域中绘制子图

    ax2 = plt.subplot(122)

    markerline, stemlines, baseline = ax2.stem(x, y2, linefmt='--',markerfmt='o', label='TestStem', use_line_collection=True)

    # 设置棉棒图线段的属性

    plt.setp(stemlines, lw=1)

    ax2.set_title('中国近十年的个人就业人员棉棒图', fontdict={'size':16})

    ax2.set_xlabel('年份')

    ax2.set_ylabel('个人就业人员(万人)')

    ax2.set_xticks(x)

    ax2.set_xticklabels(labels, rotation=60)

    # 获取个体就业人数值,设置字体大小、位置

    for temp_x, temp_y in zip(x, y2):

        ax2.text(temp_x, temp_y + 0.5, s='{}'.format(temp_y), ha='center', va='bottom', fontsize=8)

    plt.tight_layout()# 调整子图之间的距离

    plt.show(block=True)

    图在我的上传资源里面

    #饼图.中国2021年就业人员平均工资

    import matplotlib.pyplot as plt

    plt.rcParams['font.sans-serif']=['Microsoft YaHei']  #显示中文标签,处理中文乱码问题

    plt.rcParams['axes.unicode_minus']=False  #坐标轴负号的处理

    plt.axes(aspect='equal')  #将横、纵坐标轴标准化处理,确保饼图是一个正圆,否则为椭圆

    #构造数据

    edu = [97379,108132,68590,92721,57727]

    labels = ['城镇单位','国有单位','城镇集体单位','其他单位','城镇私营单位']

    explode = [0, 0.1, 0, 0, 0]  #生成数据,用于凸显国有单位人群

    colors = ['#9999ff', '#ff9999', '#7777aa', '#2442aa', '#dd5555']  #自定义颜色

    plt.pie(x=edu,  #绘图数据

            explode=explode, #指定饼图某些部分的突出显示,即呈现爆炸式

            labels=labels,  #添加教育水平标签

            colors=colors,

            autopct='%.2f%%',  #设置百分比的格式,这里保留两位小数

            pctdistance=0.8,  #设置百分比标签与圆心的距离

            labeldistance=1.1,  #设置教育水平标签与圆心的距离

            startangle=180,  #设置饼图的初始角度

            radius=1.2,  #设置饼图的半径

            counterclock=False,  #是否逆时针,这里设置为顺时针方向

            wedgeprops={'linewidth':1.5, 'edgecolor':'c'},  #设置饼图内外边界的属性值

            textprops={'fontsize':10, 'color':'black'},  #设置文本标签的属性值

            )

    #添加图标题

    plt.title('中国2021年就业人员平均工资')

    #显示图形

    plt.show()

    图在我的上传资源里面

    #折线图.中国失业人口总和

    import matplotlib.pyplot as plt

    import numpy as np

    plt.rcParams['font.sans-serif']=['SimHei']

    plt.rcParams['axes.unicode_minus']=False

    # 准备 x 轴和 y 轴的数据

    x=np.arange(2012,2022)

    shiye=np.array([917,926,952,966   ,982,972,974,945,1160,1268])

    #设置线条样式、颜色,数据标记的样式,图例

    plt.plot(x,shiye,'cs--',label='中国失业人员')

    plt.title('中国近10年城镇登记失业人员总数')

    plt.xlabel('年份')

    plt.ylabel('失业人数(万人)')

    for a,b in zip(x,shiye):

        plt.text(a,b,b,ha='right',va='bottom',size='8') # 获取中国近10年城镇登记失业人员人口总数的值,设置字体位置、大小

    plt.legend()

    plt.grid()

    plt.show()

    图在我的上传资源里面

    源代码.

    图在我的上传资源里面

  • 相关阅读:
    web网页设计期末课程大作业 我的美丽家乡盐城 HTML+CSS+JavaScript
    USB Composite 组合设备之多路CDC实现
    adb 命令查看进程
    ElasticSearch集群缩容
    从零开始实现lmax-Disruptor队列(六)Disruptor 解决伪共享、消费者优雅停止实现原理解析
    SpringBoot+Vue项目网上家电商城
    create® 3入门教程-里程计
    Flutter 3.16 中带来的更新
    数据库常见面试题 —— 13. char 和 varchar 的区别
    FFmpeg入门详解之124:Qt5 FFmpeg单路网络摄像头采集预览
  • 原文地址:https://blog.csdn.net/m0_52861000/article/details/126225498