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 # 趋势--->一般用于 某个产品的销量、某件东西上线人数随时间变化趋势