数据挖掘技术-绘制直方图

绘制直方

  1. 前置步骤

准备数据guomin.npz,下载数据guomin.npz到Linux本地的/course/DataAnalyze/data目录

  1. 绘制直方图
  1. pyplot中绘制直方图的函数为bar,使用bar函数绘制2017年第一季度各产业国民生产总值直方图,如代码 41所示。

代码 41 绘制2017年第一季度各产业国民生产总值直方图

In[1]:

import os

import numpy as np

import matplotlib.pyplot as plt

os.chdir('/course/DataAnalyze/data')

plt.rcParams['font.sans-serif'] = 'WenQuanYi Zen Hei' ## 设置中文显示

plt.rcParams['axes.unicode_minus'] = False

data = np.load('./guomin.npz')

name = data['columns'] ## 提取其中的columns数组,视为数据的标签

values = data['values']## 提取其中的values数组,数据的存在位置

label = ['第一产业','第二产业','第三产业']## 刻度标签

plt.figure(figsize=(6,5)) ##设置画布

plt.bar(range(3),values[-1,3:6],width = 0.5)## 绘制散点图

plt.xlabel('产业') #添加横轴标签

plt.ylabel('生产总值(亿元)') #添加y轴名称

plt.xticks(range(3),label)

plt.title('2017年第一季度各产业国民生产总值直方图') #添加图表标题

plt.savefig('../2017年第一季度各产业国民生产总值直方图.png')

plt.show()

Out[1]:

数据挖掘技术-绘制直方图_第1张图片

 

  1. 通过代码 41运行结果可以看出,2017年第一季度的第一产业生产总值不到第二产业的六分之一,基本与第三产业的十分之一持平。第二产业生产总值和第三产业生产总值相差大约三分之一。
  2. 绘制国民生产总值构成分布直方图,代码 42所示。

代码 42 绘制国民生产总值构成分布直方图

In[4]:

label1 = ['第一产业','第二产业','第三产业']## 刻度标签1

label2 = ['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他']## 刻度标签2

p = plt.figure(figsize=(12,12))

## 子图1

ax1 = p.add_subplot(2,2,1)

plt.bar(range(3),values[0,3:6],width = 0.5)## 绘制散点图

plt.xlabel('产业') #添加横轴标签

plt.ylabel('生产总值(亿元)') #添加y轴名称

plt.xticks(range(3),label1)

plt.title('2000年第一季度国民生产总值产业构成分布直方图')

##子图2

ax2 = p.add_subplot(2,2,2)

plt.bar(range(3),values[-1,3:6],width = 0.5)## 绘制散点图

plt.xlabel('产业') #添加横轴标签

plt.ylabel('生产总值(亿元)') #添加y轴名称

plt.xticks(range(3),label1)

plt.title('2017年第一季度国民生产总值产业构成分布直方图')

##子图3

ax3 = p.add_subplot(2,2,3)

plt.bar(range(9),values[0,6:],width = 0.5)## 绘制散点图

plt.xlabel('行业') #添加横轴标签

plt.ylabel('生产总值(亿元)') #添加y轴名称

plt.xticks(range(9),label2)

plt.title('2000年第一季度国民生产总值行业构成分布直方图') #添加图表标题

##子图4

ax4 = p.add_subplot(2,2,4)

plt.bar(range(9),values[-1,6:],width = 0.5)## 绘制散点图

plt.xlabel('行业') #添加横轴标签

plt.ylabel('生产总值(亿元)') #添加y轴名称

plt.xticks(range(9),label2)

plt.title('2017年第一季度国民生产总值行业构成分布直方图') #添加图表标题

##保存并显示图形

plt.savefig('../国民生产总值构成分布直方图.png')

plt.show()

Out[4]:

数据挖掘技术-绘制直方图_第2张图片

 

  1. 通过代码 43运行结果可以看出,第一产业与第二产业第三产业国民生产总值差距愈发巨大。根据坐标轴变化,可以发现国民生产总值增长接近10倍。2000年至2017年金融行业与其他行业增长幅度相较其他行业明显。

你可能感兴趣的:(数据挖掘,python,人工智能)