- import matplotlib.pyplot as plt
- import numpy as np
- def draw_data(n, a, b, l, values, fig, plt):
- fig.add_subplot(2, 1, n)
- x = values[:, 0]
- for i in range(a, b+1):
- y = values[:, i]
- plt.scatter(x, y)
- plt.title("2000-2017 年各个产业, 行业的散点图")
- plt.xlabel("季度")
- plt.ylabel("生产总值(亿元)")
- plt.legend(l, loc=2)
- xticks = values[:, 1]
- plt.xticks(x[::4], xticks[::4], rotation=45)
- return plt
- def show_data():
- fig = plt.figure(figsize=(20, 12), dpi=120)
- plt.rcParams['font.sans-serif'] = 'SimHei'
- plt.rcParams['axes.unicode_minus'] = False
- plt.subplots_adjust(hspace=0.3)
- return fig, plt
- def save_data():
- plt.savefig("./2000-2017 年各个产业, 行业的散点图. png")
- plt.show()
- return None
- def build_data():
- res = np.load("./ 国民经济核算季度数据. npz", allow_pickle=True)
- columns = res["columns"]
- values = res["values"]
- return columns, values
- def main():
- columns, values = build_data()
- fig, plt = show_data()
- legend1 = [tmp[:4] for tmp in columns[3:6]]
- draw_data(1, 3, 5, legend1, values, fig, plt)
- legend2 = [tmp[:2] for tmp in columns[6:]]
- draw_data(2, 6, 14, legend2, values, fig, plt)
- save_data()
- if __name__ == '__main__':
- main()
- # 场景一: 类似于折线走势的这种散点图 也可以用来描述走势
- # 场景二: 可以用来描述 点与点 (数据与数据) 的关系
来源: http://www.bubuko.com/infodetail-3356454.html