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


    绘制直方

    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年金融行业与其他行业增长幅度相较其他行业明显。
  • 相关阅读:
    数据结构 | 数据结构的“基本概念”和“术语”
    Netty 集群(Java)
    百亿数据百亿花, 库若恒河沙复沙,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang数据库操作实践EP12
    【Codeforces】 CF1830D Mex Tree
    基于HTML+CSS+JavaScript制作简单的大学生网页设计——关于我的家乡湖南网页设计主题
    在 C# CLR 中学习 C++ 之了解 extern
    tomcat更换应用目录
    案例分享 | 机场急救中心项目中BIM应用
    【动态库】Ubuntu 添加动态库的搜索路径
    fatal: Not a git repository (or any parent up to mount point /home)解决方法
  • 原文地址:https://blog.csdn.net/u011062044/article/details/127434415