matplotlib概述
matplotlib是一个由约翰·亨特等人员开发的、主要用于绘制2D图表的Python库,它支持numpy、pandas的数据结构,具有·丰富的绘图图表、定制图表元素(图例、注释文本、表格等)或样式(如颜色、字体、线型等)的功能,可以帮助开发人员轻松获得高质量的图表。此外,matplotlib还可以用于绘制一些3D图表。
matplotlib实际上是一个面向对象的绘制图库,它所绘制的图表元素均对应一个对象。但matplotlib在设计之初仿照MATLAB,它提供了一套与MATLAB命令类似的API,方便熟悉MATLAB的用户进行开发。matplotlib官网提供了3种AP:pyplot API、object-oriented API、pylab API。
使用plot()绘制折线图
使用pyplot的plot()函数可以快速绘制折线图。plot()函数的语法格式如下所示:
plot(x, y, fmt, scalex=True, scaley=True, data=None, label=None, *args, **kwargs)
该函数常用参数的含义如下:
- x : 表示x 轴的数据。
- y : 表示y轴的数据
- fmt : 表示快速设置线条样式的格式字符串
- label : 表示应用于图例的标签文本。
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#数据
x = np.arange(1,9)
y_max = np.array([30,35,31,38,41,35,36,43])
y_min = np.array([22,19,20,23,29,21,30,18])
#创建对象
fig = plt.figure()
ax = fig.add_subplot(111)
#绘制折线图表
ax.plot(x,y_max, color='green')
ax.plot(x,y_min, color='orange')
#图表展示
plt.show()
运行结果以及原代码
使用plot()绘制柱形图(或堆积图)
使用pyplot 的 bar()函数可以快速绘制柱形图或堆积柱形图。bar() 函数的语法格式如下所示:
bar(x, height, width=0.8, bottom=None, align='center',
data=None, tick_label=None, xerr=None, yerr=None,
error_kw=None, **kwargs)
该函数常用参数的含义如下:
- x:表示柱形的x坐标值。
- height:表示柱形的高度。
- width:表示柱形的宽度,默认为 0.8。
- bottom:表示柱形底部的y坐标值,默认为0。
- align:表示柱形的对齐方式,有 'center' 和 'edge' 两个取值,其中 'center' 表示将柱形与刻度线居中对齐;'edge' 表示将柱形的左边与刻度线对齐。
- tick_label:表示柱形对应的刻度标签。
- xerr,yerr:若未设为 None,则需要为柱形图添加水平/垂直误差棒。
- error_kw:表示误差棒的属性字典,字典的键对应errorbar()函数的关键字参数。
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#数据
x = np.arange(7)
y1 = np.array([13,16,12,23,21,25,18])
y2 = np.array([15,13,17,23,16,20,15])
bar_width = 0.3
labels=['A','B','C','D','E','F','G']
#创建对象
fig = plt.figure()
ax = fig.add_subplot(111)
#绘制柱形图表
ax.bar(x,y1, tick_label=labels, width=bar_width,color='green')
ax.bar(x+bar_width, y2, width=bar_width, color='orange')
#图表展示
plt.show()
运行结果以及原代码