1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 加载数据 5 res = np.load("./国民经济核算季度数据.npz", allow_pickle=True) 6 # for tmp in res: 7 # print(tmp) 8 columns = res["columns"] 9 values = res["values"] 10 11 print("columns:\n", columns) 12 print("values:\n", values) 13 14 # 绘图三部曲 15 # 1、创建画布 16 plt.figure() 17 # 增加RC参数 18 # 默认不支持中文 19 # 修改RC参数,来让其支持中文 20 plt.rcParams['font.sans-serif'] = 'SimHei' 21 plt.rcParams['axes.unicode_minus'] = False 22 23 # 2、绘图 24 # 横轴---时间(直接绘制的时候,不允许使用中文)---先用序号来代替时间 25 # 纵轴----生产总值 26 # x = values[:, 0] 27 # print("x:\n", x) 28 # 自己生成 29 x = np.arange(1, values.shape[0] + 1) 30 print("x:\n", x) 31 32 # y1 = values[:, 3] 33 # y2 = values[:, 4] 34 # y3 = values[:, 5] 35 # 36 # print("y1:\n", y1) 37 # print("y2:\n", y2) 38 # print("y3:\n", y3) 39 40 y = values[:, 3:6] 41 42 # 绘图---自己可以构建各种rc来区别点线 43 # plt.plot(x, y1) 44 # plt.plot(x, y2) 45 # plt.plot(x, y3) 46 47 # 注意: 在折线图中,一个横坐标,可以匹配多个纵坐标 48 plt.plot(x,y) 49 50 # 增加标题 51 plt.title("2000-2017年各产业季度生产总值走势图") 52 53 legend = [tmp[:4] for tmp in columns[3:6]] 54 # 增加图例 55 plt.legend(legend, loc=2) 56 57 # 增加横轴名称 58 plt.xlabel("季度") 59 60 # 增加纵轴名称 61 plt.ylabel("生产总值(亿元)") 62 63 # 设置横轴刻度 64 # 65 xticks = values[:, 1] 66 # plt.xticks(x, xticks, rotation=75) 67 plt.xticks(x[::4], xticks[::4], rotation=45, horizontalalignment="center") 68 69 # 3、图形展示 70 plt.show() 71 72 plt.savefig("./2000-2017年各产业季度生产总值走势图.png") 73 74 # 趋势--->一般用于 某个产品的销量、某件东西上线人数随时间变化趋势