490 KiB
Raw Permalink Blame History

None <html lang="en"> <head> </head>
In [2]:
import numpy as np
import matplotlib.pyplot as plt
In [3]:
data = np.load('./data/2001-2019年劳动力与就业人员数据.npz', encoding='ASCII', allow_pickle=True)
data
Out[3]:
<numpy.lib.npyio.NpzFile at 0x10796f850>
In [4]:
# 设置中文字体macOS 上常见中文字体)
from matplotlib import font_manager as fm
import matplotlib as mpl
font_path = '/System/Library/Fonts/STHeiti Medium.ttc'
my_font = fm.FontProperties(fname=font_path)
mpl.rcParams['font.family'] = my_font.get_name()
mpl.rcParams['axes.unicode_minus'] = False
In [5]:
# 获取所有键
keys = data.files
keys
Out[5]:
['arr_0', 'arr_1']
In [ ]:
# 遍历所有键病打印对应的数据
for key in keys:
    print(f'键{key}对应的数据为:')
    print(data[key])
In [6]:
# 提取其中的columns数组视为数据的标签
columns = data['arr_0']
values = data['arr_1']
print(columns, values)
[['年份' '劳动力(万人)' '就业人员(万人)' '城镇就业人员(万人)' '乡村就业人员(万人)' '国有单位城镇就业人员(万人)'
  '城镇集体单位城镇就业人员(万人)' '股份合作单位城镇就业人员(万人)' '联营单位城镇就业人员(万人)'
  '有限责任公司城镇就业人员(万人)' '股份有限公司城镇就业人员(万人)' '私营企业城镇就业人员(万人)'
  '港澳台商投资单位城镇就业人员(万人)' '外商投资单位城镇就业人员(万人)' '个体城镇就业人员(万人)' '私营企业乡村就业人员(万人)'
  '个体乡村就业人员(万人)']] [[ 2001 73884 72797 24123 48674  7640  1291   153    45   841   483  1527
    326   345  2131  1187  2629]
 [ 2002 74492 73280 25159 48121  7163  1122   161    45  1083   538  1999
    367   391  2269  1411  2474]
 [ 2003 74911 73736 26230 47506  6876  1000   173    44  1261   592  2545
    409   454  2377  1754  2260]
 [ 2004 75290 74264 27293 46971  6710   897   192    44  1436   625  2994
    470   563  2521  2024  2066]
 [ 2005 76120 74647 28389 46258  6488   810   188    45  1750   699  3458
    557   688  2778  2366  2123]
 [ 2006 76315 74978 29630 45348  6430   764   178    45  1920   741  3954
    611   796  3012  2632  2147]
 [ 2007 76531 75321 30953 44368  6424   718   170    43  2075   788  4581
    680   903  3310  2672  2187]
 [ 2008 77046 75564 32103 43461  6447   662   164    43  2194   840  5124
    679   943  3609  2780  2167]
 [ 2009 77510 75828 33322 42506  6420   618   160    37  2433   956  5544
    721   978  4245  3063  2341]
 [ 2010 78388 76105 34687 41418  6516   597   156    36  2613  1024  6071
    770  1053  4467  3347  2540]
 [ 2011 78579 76420 35914 40506  6704   603   149    37  3269  1183  6912
    932  1217  5227  3442  2718]
 [ 2012 78894 76704 37102 39602  6839   590   149    39  3787  1243  7557
    969  1246  5643  3739  2986]
 [ 2013 79300 76977 38240 38737  6365   566   108    25  6069  1721  8242
   1397  1566  6142  4279  3193]
 [ 2014 79690 77253 39310 37943  6312   537   103    22  6315  1751  9857
   1393  1562  7009  4533  3575]
 [ 2015 80091 77451 40410 37041  6208   481    92    20  6389  1798 11180
   1344  1446  7800  5215  3882]
 [ 2016 80694 77603 41428 36175  6170   453    86    18  6381  1824 12083
   1305  1361  8627  5914  4235]
 [ 2017 80686 77640 42462 35178  6064   406    77    13  6367  1846 13327
   1290  1291  9348  6554  4878]
 [ 2018 80525 77586 43419 34167  5740   347    66    12  6555  1875 13952
   1153  1212 10440  7424  5597]
 [ 2019 81104 77471 44247 33224  5473   296    60    12  6608  1879 14567
   1157  1203 11692  8267  6000]]
In [ ]:
plt.figure(figsize=(12, 6), dpi=1000)  # 设置画布
plt.scatter(values[:, 0], values[:, 1], marker='o')  # 绘制散点图
plt.xlabel('年份')  # 设置x轴标签
plt.ylabel('劳动力人数(万人)')  # 设置y轴标签
plt.ylim(70000, 85000) # 设置y轴范围
plt.xticks(range(2001,2020,1) ,labels=values[:,0]) # 设置x轴刻度
plt.title('2001~2019年劳动力人数散点图') # 添加图标标题
plt.show()
In [ ]:
plt.figure(figsize=(12,6),dpi=1000) # 设置画布
plt.scatter(values[:,0],values[:,3],marker='*',c='b',label='城镇就业人员')
plt.scatter(values[:,0],values[:,4],marker='>',c='r',label='乡村就业人员')
plt.xlabel('年份(年)')
plt.ylabel('人数(万人)')
plt.ylim(20000,60000)
plt.xticks(range(2001,2020,1),labels=values[:,0])
plt.legend()
plt.title('2001~2019年城乡就业人数散点图')
plt.show()
In [ ]:
plt.figure(figsize=(12,6),dpi=1000) # 设置画布
plt.plot(values[:,0],values[:,3],'bs-',label='城镇就业人员')
plt.plot(values[:,0],values[:,4],'ro-.',label='乡村就业人员')
plt.xlabel('年份(年)')
plt.ylabel('人数(万人)')
plt.ylim(20000,60000)
plt.xticks(range(2001,2020,1),labels=values[:,0])
plt.legend()
plt.title('2001~2019年城乡就业人数点线图')
plt.show()
In [ ]:
labels = ['城镇就业人员','乡村就业人员']
plt.figure(figsize=(6,6),dpi=1080)
plt.bar(range(2),values[-1,3:5],width=0.5)
plt.xlabel("类别")
plt.ylabel("就业人数(万人)")
plt.xticks(range(2),labels=labels)
plt.title('2019年城乡就业人数柱形图')
plt.show()
In [ ]:
labels = ['城镇就业人员','乡村就业人员']
explode = [0.01,0.01]
plt.figure(figsize=(6,6),dpi=1080)
plt.pie(values[-1,3:5],explode=explode,labels=labels,autopct='%1.2f%%')
plt.title('2019年城乡就业人数分布饼图')
plt.show()
In [8]:
labels = ['城镇就业人员','乡村就业人员']
gdp = [values[:,3],values[:,4]]
plt.figure(figsize=(6,6),dpi=1080)
plt.boxplot(gdp,notch=True,labels=labels,meanline=True)
plt.title('2001~2019年城乡就业人数分布箱线图')
plt.show()
No description has been provided for this image
In [ ]:
# 5-7
plt.figure(figsize=(12, 6), dpi=1080)  # 设置画布
plt.plot(values[:, 0], values[:, 2], color='r',linestyle='--')  # 绘制红色虚线折线图
plt.xlabel('年份(年)')  # 设置x轴标签
plt.ylabel('劳动力人数(万人)')  # 设置y轴标签
plt.ylim(70000, 80000) # 设置y轴范围
plt.xticks(range(2001,2020,1) ,labels=values[:,0]) # 设置x轴刻度
plt.title('2001~2019年劳动力人数散点图') # 添加图标标题
plt.show()
In [ ]:
# 5-8
plt.figure(figsize=(12, 6), dpi=1080)  # 设置画布
plt.plot(values[:, 0], values[:, 2], color='b',linestyle='--',marker='D')  # 绘制红色虚线折线图
plt.xlabel('年份(年)')  # 设置x轴标签
plt.ylabel('劳动力人数(万人)')  # 设置y轴标签
plt.ylim(70000, 80000) # 设置y轴范围
plt.xticks(range(2001,2020,1) ,labels=values[:,0]) # 设置x轴刻度
plt.title('2001~2019年劳动力人数点线图') # 添加图标标题
plt.show()
In [ ]:
# 5-9
plt.figure(figsize=(12, 6), dpi=1080)  # 设置画布
plt.plot(values[:, 0], values[:, 3],'bs-',
         values[:,0] ,values[:,4],'ro-' )  # 绘制红色虚线折线图
plt.xlabel('年份(年)')  # 设置x轴标签
plt.ylabel('劳动力人数(万人)')  # 设置y轴标签
plt.ylim(20000, 60000) # 设置y轴范围
plt.xticks(range(2001,2020,1) ,labels=values[:,0]) # 设置x轴刻度
plt.legend(['城镇就业人员','乡村就业人员'])
plt.title('2001~2019年劳动力人数点线图') # 添加图标标题
plt.show()
In [ ]:
labels = ['城镇就业人员','乡村就业人员','国有单位城镇就业人员(万人)']


plt.figure(figsize=(6,4),dpi=1080)
plt.bar(range(3),values[-1,3:6],width=0.3)
plt.xlabel("类别",fontsize=6)
plt.ylabel("就业人数(万人)",fontsize=6)
plt.xticks(range(3),labels=labels,fontsize=6)
plt.title('2019年城乡就业人数柱形图',fontsize=6)
plt.show()
In [ ]:
labels = ['城镇就业人员','乡村就业人员']
plt.figure(figsize=(1.6,2.6),dpi=200)
plt.bar(range(2),values[-1,3:5],width=0.2,color=['skyblue', 'lightcoral'])
plt.xlabel("类别",fontsize=6)
plt.ylabel("就业人数(万人)",fontsize=6)
plt.xticks(range(2),labels=labels,fontsize=6)
plt.yticks(fontsize=6)
plt.title('2019年城乡就业人数柱形图',fontsize=6)
plt.show()
</html>