本文共 1862 字,大约阅读时间需要 6 分钟。
分析所用文件来源:
代码:
import matplotlib.pyplot as pltimport numpy as np"""绘制2000-2017年四项产业(建筑、零售、交通、餐饮)均值统计图"""file = np.load(r'C:\Users\Administrator\Documents\Tencent Files\1239112948\FileRecv\国民经济核算季度数据.npz',allow_pickle=True)columns = file['columns']values = file['values']# 建筑业jianzhu = values[:-1,8]jianzhu_list = []for i in range(0,68,4): jianzhu_list.append(np.mean([jianzhu[i],jianzhu[i+1],jianzhu[i+2],jianzhu[i+3]]))#取均值,以下同理print(jianzhu_list)jianzhu_list.append(values[-1::,8][0])# 批发零售业lingshou = values[:-1,9]lingshou_list = []for i in range(0,68,4): lingshou_list.append(np.mean([lingshou[i],lingshou[i+1],lingshou[i+2],lingshou[i+3]]))lingshou_list.append(values[-1::,9][0])# 交通运输业jiaotong = values[:-1,10]jiaotong_list=[]for i in range(0,68,4): jiaotong_list.append(np.mean([jiaotong[i],jiaotong[i+1],jiaotong[i+2],jiaotong[i+3]]))jiaotong_list.append(values[-1::,10][0])# 住宿餐饮canyin = values[:-1,11]canyin_list=[]for i in range(0,68,4): canyin_list.append(np.mean([canyin[i],canyin[i+1],canyin[i+2],canyin[i+3]]))canyin_list.append(values[-1::,11][0])#p1=plt.figure(figsize=(12,8),dpi=320)#画布大小,分辨率;plt.rcParams['font.sans-serif'] = 'SimHei'#仿宋plt.title('2000-2017年四项产业(建筑、零售、交通、餐饮)均值统计图')x = [j for j in range(2000,2018)]x1=np.array([i for i in range(0,90,5)])#将每四个柱状图之间空一格x2=x1+1x3=x1+2x4=x1+3x5=x1+4y2 = jianzhu_listy3 = lingshou_listy4 = jiaotong_listy5 = canyin_listplt.bar(x1,y2)plt.bar(x2,y3)plt.bar(x3,y4)plt.bar(x4,y5)plt.bar(x5,0)plt.xlabel('年份')plt.ylabel('季度均值')plt.legend(['建筑','零售','交通','餐饮'])#字每一个柱上添加相应值for a,b,c,d,e,f,g,h in zip(x1,x2,x3,x4,y2,y3,y4,y5): plt.text(a,e+100,int(e),fontsize=4,ha='center') plt.text(b,f+100,int(f),fontsize=4,ha='center') plt.text(c,g+100,int(g),fontsize=4,ha='center') plt.text(d,h+100,int(h),fontsize=4,ha='center')plt.xticks(x1+1.5,x,rotation = 45)#+1.5是让下标在四个柱子中间plt.show()
结果:
转载地址:http://gdwsi.baihongyu.com/