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()
运行结果如下:
绘制水平条形图:
示例代码:
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轴添加轴名