lmseohy 2019-12-29
import matplotlib.pyplot as plt import numpy as np # 构建数据 def build_data(): res = np.load("./国民经济核算季度数据.npz", allow_pickle=True) columns = res["columns"] values = res["values"] return columns, values def show_data(columns, values): fig = plt.figure() plt.rcParams[‘font.sans-serif‘] = ‘SimHei‘ plt.rcParams[‘axes.unicode_minus‘] = False fig.add_subplot(2, 1, 1) x = (list(values[:, 3]), list(values[:, 4]), list(values[:, 5])) labels = [tmp[:4] for tmp in columns[3:6]] plt.boxplot(x, notch=True, labels=labels, meanline=True, showmeans=True) plt.title("2000-2017年各个产业生产总值箱线图") plt.xlabel("产业") plt.ylabel("生产总值(亿元)") fig.add_subplot(2, 1, 2) 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])) labels = [tmp[:2] for tmp in columns[6:]] plt.boxplot(x, notch=True, labels=labels, meanline=True, showmeans=True) plt.title("2000-2017年各个行业生产总值箱线图") plt.xlabel("行业") plt.ylabel("生产总值(亿元)") plt.savefig("./2000-2017年各个产业生产总值箱线图.png") plt.show() def main(): columns, values = build_data() show_data(columns, values) if __name__ == ‘__main__‘: main()