Matplotlib基本图形之条形图

时间:2023-03-10 04:47:14
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 width: 条形图的宽度,默认为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()

运行结果如下:

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') 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'))

Matplotlib基本图形之条形图

相关补充:

plt.title(title)    #给图片添加标题
plt.xlabel(x_label) #给x轴添加轴名
plt.ylabel(y_label) #给y轴添加轴名