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

绘制直方

  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. 通过代码 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]:

 

  1. 通过代码 43运行结果可以看出,第一产业与第二产业第三产业国民生产总值差距愈发巨大。根据坐标轴变化,可以发现国民生产总值增长接近10倍。2000年至2017年金融行业与其他行业增长幅度相较其他行业明显。
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值