1 import matplotlib.pyplot as plt
 2 import numpy as np
 3 
 4 
 5 # 构建数据
 6 def build_data():
 7     res = np.load("./国民经济核算季度数据.npz", allow_pickle=True)
 8     columns = res["columns"]
 9     values = res["values"]
10     return columns, values
11 
12 def show_data(columns, values):
13     fig = plt.figure()
14     plt.rcParams['font.sans-serif'] = 'SimHei'
15     plt.rcParams['axes.unicode_minus'] = False
16 
17     fig.add_subplot(2, 1, 1)
18     x = (list(values[:, 3]), list(values[:, 4]), list(values[:, 5]))
19     labels = [tmp[:4] for tmp in columns[3:6]]
20     plt.boxplot(x, notch=True, labels=labels, meanline=True, showmeans=True)
21     plt.title("2000-2017年各个产业生产总值箱线图")
22     plt.xlabel("产业")
23     plt.ylabel("生产总值(亿元)")
24 
25     fig.add_subplot(2, 1, 2)
26     x = (list(values[:, 6]), list(values[:, 7]), list(values[:, 8]), list(values[:, 9]), list(values[:, 10]), list(values[:, 11]), list(values[:, 12]), list(values[:, 13]), list(values[:, 14]))
27     labels = [tmp[:2] for tmp in columns[6:]]
28     plt.boxplot(x, notch=True, labels=labels, meanline=True, showmeans=True)
29     plt.title("2000-2017年各个行业生产总值箱线图")
30     plt.xlabel("行业")
31     plt.ylabel("生产总值(亿元)")
32 
33     plt.savefig("./2000-2017年各个产业生产总值箱线图.png")
34     plt.show()
35 
36 
37 def main():
38     columns, values = build_data()
39     show_data(columns, values)
40 
41 if __name__ == '__main__':
42     main()

 

 

    绘制更多的图,参考网址:https://matplotlib.org/gallery/index.html
    echarts
    pyecharts