zoukankan      html  css  js  c++  java
  • python第三方库之matplotlib基本图形之条形图

    Matplotlib基本图形之条形图

    条形图特点:

    以长方形的长度为变量的统计图表
    用来比较多个数据分类的数据大小
    通常用于较小的数据集分析
    例如不同季度的销量,不同国家的人口

    示例代码:

    
    
    import os
    import time
    import numpy as np
    import matplotlib.pyplot as plt

    basedir = os.path.dirname(os.path.abspath(__file__))
    resultdir = os.path.join(basedir, 'result')
    class Create_bar(object):
    
        def __init__(self,data,dst,name='',title='Title',color='r',alpha=1,width=0.8):
            '''
    
            :param data: x轴使用的数据,一般为列表
            :param dst: 存放生成图片的文件夹路径
            :param name: 图片的名称,默认为当前时间戳
            :param title: 图片的标题,默认为Title
            :param color: 条形图的颜色,默认为红色
            :param alpha: 点的透明度,默认为1,即不透明
            :param  条形图的宽度,默认为0.8
            '''
            self.x = data
            self.dst = dst
            self.name = name if name else str(int(time.time()))
            self.title = title
            self.color = color
            self.alpha = alpha
            self.width = width
    
        def drew(self):
            plt.bar(
                color = self.color,
                alpha = self.alpha,
                left = np.arange(len(N)),
                height = self.x,
                width=self.width,
    
            )
            plt.title(self.title)
            picname = self.name+'.jpg'
            picdir = os.path.join(self.dst, picname)
            plt.savefig(picdir)

    实例化一个对象:

    N = [20,60,88,76,54,16]
    PIC = Create_bar(N,resultdir,color='blue')
    PIC.drew()

    运行结果如下:

    绘制水平条形图:

    示例代码:

    import os
    import time
    import numpy as np
    import matplotlib.pyplot as plt
    
    basedir = os.path.dirname(os.path.abspath(__file__))
    resultdir = os.path.join(basedir, 'result')
    
    num = 5
    y = [20,60,88,76,54]
    index = np.arange(num)
    plt.barh(left=0,bottom=index,width=y)
    
    plt.savefig(os.path.join(resultdir,'1.png'))

     

     相关补充:

    plt.title(title)    #给图片添加标题
    plt.xlabel(x_label) #给x轴添加轴名
    plt.ylabel(y_label) #给y轴添加轴名
  • 相关阅读:
    URL传参数导致乱码
    [转载]HTTP协议详解
    https中关于密码学的基础概念
    JavaScript高级程序设计 第四章 变量、作用域和内存问题
    JavaScript高级程序设计 第三章 基本概念
    实现sticky footer的五种方法
    css grid学习材料整理
    ASP.NET MVC编程——视图
    Entity Framework——配置文件设置
    Entity Framework——记录执行的命令信息
  • 原文地址:https://www.cnblogs.com/Keys819/p/9306805.html
Copyright © 2011-2022 走看看