• 【数据分析&数据挖掘】2000-2017年各个产业、行业的柱状图


     1 import matplotlib.pyplot as plt
     2 import numpy as np
     3 
     4 def draw_data(n, a, b, c, d, values, fig, plt, t, xl, ticks):
     5     fig.add_subplot(2, 2, n)
     6     x = np.arange(1, c, 1)
     7     y = values[d, a:b+1]
     8     print("---y---:
    ",y)
     9     plt.bar(x, y, width=0.5, color=["#BCEE68", "#A2CD5A", "#6E8B3D"])
    10     plt.title(t)
    11     plt.xlabel(xl)
    12     plt.ylabel("生产总值(亿元)")
    13     plt.xticks(x, ticks)
    14     for i,j in zip(x, y):
    15         plt.text(i, j, "%.2f亿元"%j, horizontalalignment='center', verticalalignment='bottom')
    16     return plt
    17 
    18 def show_data():
    19     fig = plt.figure(figsize=(20, 12), dpi=120)
    20     plt.rcParams['font.sans-serif'] = 'SimHei'
    21     plt.rcParams['axes.unicode_minus'] = False
    22     # plt.subplots_adjust(hspace=0.3)
    23     return fig, plt
    24 
    25 def save_data():
    26     plt.savefig("./2000-2017年各个产业、行业的柱状图.png")
    27     plt.show()
    28     return None
    29 
    30 
    31 def build_data():
    32     res = np.load("./国民经济核算季度数据.npz", allow_pickle=True)
    33     columns = res["columns"]
    34     values = res["values"]
    35     # print(columns)
    36     # print(values)
    37     return columns, values
    38 
    39 def main():
    40     columns, values = build_data()
    41     fig, plt = show_data()
    42     title1 = "2000年第一季度国民总值产业构成分布柱状图"
    43     title2 = "2017年第一季度国民总值产业构成分布柱状图"
    44     xlabel1 = "产业"
    45     xlabel2 = "行业"
    46     ticks1 = [tmp[:4] for tmp in columns[3:6]]
    47     ticks2 = [tmp[:2] for tmp in columns[6:]]
    48     draw_data(1, 3, 5, 4, 0, values, fig, plt, title1, xlabel1, ticks1)
    49     draw_data(2, 3, 5, 4, 68, values, fig, plt, title2, xlabel1, ticks1)
    50     draw_data(3, 6, 14, 10, 0, values, fig, plt, title1, xlabel2, ticks2)
    51     draw_data(4, 6, 14, 10, 68, values, fig, plt, title2, xlabel2, ticks2)
    52     save_data()
    53 
    54 
    55 if __name__ == '__main__':
    56     main()

  • 相关阅读:
    HTML5 实现Link跳线效果
    在TWaver的Tree节点上画线
    用TWaver加载大型游戏场景一例
    22万个木箱!TWaver 3D极限压榨
    如何在MONO 3D寻找最短路路径
    如何创建TWaver 3D的轮廓选中效果
    巧用TWaver 3D 矢量图形功能
    如何实现TWaver 3D颜色渐变
    HDU 1390 Binary Numbers
    HDU 1328 IBM Minus One
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115932.html
Copyright © 2020-2023  润新知