分析特征内部数据分布与分散状态

  1 # -*- coding: utf-8 -*-
  2 
  3 ###############################################################################
  4 #######################            正文代码             #######################
  5 ###############################################################################
  6 
  7 # 代码 3-5
  8 import numpy as np
  9 import matplotlib.pyplot as plt
 10 plt.rcParams['font.sans-serif'] = 'SimHei' ## 设置中文显示
 11 plt.rcParams['axes.unicode_minus'] = False
 12 data = np.load('../data/国民经济核算季度数据.npz')
 13 name = data['columns'] ## 提取其中的columns数组,视为数据的标签
 14 values = data['values']## 提取其中的values数组,数据的存在位置
 15 
 16 plt.figure(figsize=(8,7))## 设置画布
 17 plt.scatter(values[:,0],values[:,2], marker='o')## 绘制散点图
 18 plt.xlabel('年份')## 添加横轴标签
 19 plt.ylabel('生产总值(亿元)')## 添加y轴名称
 20 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
 21 plt.title('2000-2017年季度生产总值散点图')## 添加图表标题
 22 plt.savefig('../tmp/2000-2017年季度生产总值散点图.png')
 23 plt.show()
 24 
 25 
 26 
 27 # 代码 3-6
 28 plt.figure(figsize=(8,7))## 设置画布
 29 ## 绘制散点1
 30 plt.scatter(values[:,0],values[:,3], marker='o',c='red')
 31 ## 绘制散点2
 32 plt.scatter(values[:,0],values[:,4], marker='D',c='blue')
 33 ## 绘制散点3
 34 plt.scatter(values[:,0],values[:,5], marker='v',c='yellow')
 35 plt.xlabel('年份')## 添加横轴标签
 36 plt.ylabel('生产总值(亿元)')## 添加纵轴标签
 37 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
 38 plt.title('2000-2017年各产业季度生产总值散点图')## 添加图表标题
 39 plt.legend(['第一产业','第二产业','第三产业'])## 添加图例
 40 plt.savefig('../tmp/2000-2017年各产业季度生产总值散点图.png')
 41 plt.show()
 42 
 43 
 44 # 代码 3-7
 45 plt.figure(figsize=(8,7))## 设置画布
 46 ## 绘制折线图
 47 plt.plot(values[:,0],values[:,2],color = 'r',linestyle = '--')
 48 plt.xlabel('年份')## 添加横轴标签
 49 plt.ylabel('生产总值(亿元)')## 添加y轴名称
 50 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
 51 plt.title('2000-2017年季度生产总值折线图')## 添加图表标题
 52 plt.savefig('../tmp/2000-2017年季度生产总值折线图.png')
 53 plt.show()
 54 
 55 
 56 
 57 # 代码 3-8
 58 plt.figure(figsize=(8,7))## 设置画布
 59 plt.plot(values[:,0],values[:,2],color = 'r',linestyle = '--',
 60         marker = 'o')## 绘制折线图
 61 plt.xlabel('年份')## 添加横轴标签
 62 plt.ylabel('生产总值(亿元)')## 添加y轴名称
 63 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
 64 plt.title('2000-2017年季度生产总值点线图')## 添加图表标题
 65 plt.savefig('../tmp/2000-2017年季度生产总值点线图.png')
 66 plt.show()
 67 
 68 
 69 
 70 # 代码 3-9
 71 plt.figure(figsize=(8,7))## 设置画布
 72 plt.plot(values[:,0],values[:,3],'bs-',
 73        values[:,0],values[:,4],'ro-.',
 74        values[:,0],values[:,5],'gH--')## 绘制折线图
 75 plt.xlabel('年份')## 添加横轴标签
 76 plt.ylabel('生产总值(亿元)')## 添加y轴名称
 77 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
 78 plt.title('2000-2017年各产业季度生产总值折线图')## 添加图表标题
 79 plt.legend(['第一产业','第二产业','第三产业'])
 80 plt.savefig('../tmp/2000-2017年季度各产业生产总值折线图.png')
 81 plt.show()
 82 
 83 
 84 
 85 ###############################################################################
 86 #######################            任务实现             #######################
 87 ###############################################################################
 88 
 89 # 代码 3-10
 90 import numpy as np
 91 import matplotlib.pyplot as plt
 92 plt.rcParams['font.sans-serif'] = 'SimHei' ## 设置中文显示
 93 plt.rcParams['axes.unicode_minus'] = False
 94 data = np.load('../data/国民经济核算季度数据.npz')
 95 name = data['columns']## 提取其中的columns数组,视为数据的标签
 96 values = data['values']## 提取其中的values数组,数据的存在位置
 97 p = plt.figure(figsize=(12,12)) ##设置画布
 98 
 99 ## 子图1
100 ax1 = p.add_subplot(2,1,1)
101 plt.scatter(values[:,0],values[:,3], marker='o',c='r')## 绘制散点
102 plt.scatter(values[:,0],values[:,4], marker='D',c='b')## 绘制散点
103 plt.scatter(values[:,0],values[:,5], marker='v',c='y')## 绘制散点
104 plt.ylabel('生产总值(亿元)')## 添加纵轴标签
105 plt.title('2000-2017年各产业季度生产总值散点图')## 添加图表标题
106 plt.legend(['第一产业','第二产业','第三产业'])## 添加图例
107 
108 ## 子图2
109 ax2 = p.add_subplot(2,1,2)
110 plt.scatter(values[:,0],values[:,6], marker='o',c='r')## 绘制散点
111 plt.scatter(values[:,0],values[:,7], marker='D',c='b')## 绘制散点
112 plt.scatter(values[:,0],values[:,8], marker='v',c='y')## 绘制散点
113 plt.scatter(values[:,0],values[:,9], marker='8',c='g')## 绘制散点
114 plt.scatter(values[:,0],values[:,10], marker='p',c='c')## 绘制散点
115 plt.scatter(values[:,0],values[:,11], marker='+',c='m')## 绘制散点
116 plt.scatter(values[:,0],values[:,12], marker='s',c='k')## 绘制散点
117 ## 绘制散点
118 plt.scatter(values[:,0],values[:,13], marker='*',c='purple')
119 ## 绘制散点
120 plt.scatter(values[:,0],values[:,14], marker='d',c='brown')
121 plt.legend(['农业','工业','建筑','批发','交通',
122         '餐饮','金融','房地产','其他']) 
123 plt.xlabel('年份')## 添加横轴标签
124 plt.ylabel('生产总值(亿元)')## 添加纵轴标签
125 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
126 plt.savefig('../tmp/2000-2017年季度各行业生产总值散点子图.png')
127 plt.show()
128 
129 
130 
131 # 代码 3-11
132 p1 = plt.figure(figsize=(8,7))## 设置画布
133 ## 子图1
134 ax3 = p1.add_subplot(2,1,1)
135 plt.plot(values[:,0],values[:,3],'b-',
136         values[:,0],values[:,4],'r-.',
137         values[:,0],values[:,5],'g--')## 绘制折线图
138 plt.ylabel('生产总值(亿元)')## 添加纵轴标签
139 plt.title('2000-2017年各产业季度生产总值折线图')## 添加图表标题
140 plt.legend(['第一产业','第二产业','第三产业'])## 添加图例
141 ## 子图2
142 ax4 = p1.add_subplot(2,1,2)
143 plt.plot(values[:,0],values[:,6], 'r-',## 绘制折线图
144         values[:,0],values[:,7], 'b-.',## 绘制折线图
145         values[:,0],values[:,8],'y--',## 绘制折线图
146         values[:,0],values[:,9], 'g:',## 绘制折线图
147         values[:,0],values[:,10], 'c-',## 绘制折线图
148         values[:,0],values[:,11], 'm-.',## 绘制折线图
149         values[:,0],values[:,12], 'k--',## 绘制折线图
150         values[:,0],values[:,13], 'r:',## 绘制折线图
151         values[:,0],values[:,14], 'b-')## 绘制折线图
152 plt.legend(['农业','工业','建筑','批发','交通',
153         '餐饮','金融','房地产','其他'])
154 plt.xlabel('年份')## 添加横轴标签
155 plt.ylabel('生产总值(亿元)')## 添加纵轴标签
156 plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
157 plt.savefig('../tmp/2000-2017年季度各行业生产总值折线子图.png')
158 plt.show()

 

posted @ 2018-08-08 14:52  Element_01  阅读(592)  评论(0编辑  收藏  举报