matplotlib库是一个好用的绘制函数图像的库,他的语法和matlab十分相似,毕竟叫matplotlib嘛~

先附上参考链接:

Matplotlib 中文

Matplotlib documentation — Matplotlib 3.6.0 documentation

NumPy 中文

导入

1
import matplotlib.pyplot as plt

基本操作

绘制图像:

1
2
3
4
5
6
7
8
list_x = [ i for i in range(100) ]
list_y = [ sin(i) for i in range(100) ]
# 折线图
plt.plot( list_x, list_y )
# 散点图
plt.scatter( list_x, list_y )
# 不要忘了显示图像!
plt.show()

plot()scatter()函数的前两个参数是list类型的,然后在实际操作中,为了保证数值的精确性,我们常常使用numpy库:

1
2
3
4
import numpy as np
x = np.arange(0, 5, 0.1)
y = np.sin(x)
plt.plot(x, y)

matlab不同,如果有多个plt.plot()存在,那么这些函数图像默认画在一张图里

添加标题,坐标轴,图例

1
2
3
4
5
6
7
8
# 标题
plt.title("this is a title")
# x,y轴
plt.xlabel( 'x' )
plt.ylabel( 'sin(x)' )
# 图例
plt.plot( list_x, list_y, label='this is label' )
plt.legend()

plot函数详解

官方的包里面解释了plot函数的参数:

plot([x], y, [fmt], *, data=None, **kwargs)

plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)

他的参数意义如下:

  • [x],y:函数的坐标,x被方括号括住表示参数可选,如果不加x那么x的范围默认为0到N-1
  • [fmt]:设置曲线的格式

曲线格式:

颜色 点型 点型 线型
b 圆圈 o 大于号 > 虚线
r 加号 + x 实线 -
绿 g 正方形 s 三叶风车 1 点线 :
c 三角形 ^ 点划线 -.
y 倒三角 v
b 像素 ,
w .
洋红 m 小于号 <

例子:

1
plt.plot( list_x, list_y, 'b--' )

这是一条蓝色的虚线

还可以显式的指定参数:

改变坐标轴:

四个参数分别为x的起始坐标,x的结束坐标,y的起始坐标,y的结束坐标

1
plt.axis([0, 6, 0, 20])

子图表

1
2
3
4
5
6
7
8
9
10
11
12
# 切换到一行三列的第一张图
plt.subplot(131)
plt.bar(names, values)
# 切换到一行三列的第二张图
plt.subplot(132)
plt.scatter(names, values)
# 切换到一行三列的第三张图
plt.subplot(133)
plt.plot(names, values)
# 总标题
plt.suptitle('Categorical Plotting')
plt.show()