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


    绘制直方

    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年金融行业与其他行业增长幅度相较其他行业明显。
  • 相关阅读:
    Redis主从复制
    线程是如何实现的?
    浅谈Kafka Broker 请求处理流程
    SpringMVC转发和重定向
    外贸干货/与非洲客户打交道要知道的几点
    SMFL 教程&个人笔记
    盘点2022初级Java笔试题,选择题,简答题(右滑查看答案)
    Python获取cookie用法介绍
    Vue的生命周期的详解
    flutter创建不同样式的按钮,背景色,边框,圆角,圆形,大小都可以设置
  • 原文地址:https://blog.csdn.net/u011062044/article/details/127434415