如何在matplotlib中使用pyplot.arrow或patches.Arrow?
在可视化图表中,小箭头是一种非常常见且常用的方式。在Matplotlib中,我们可以使用pyplot.arrow或patches.Arrow函数来创建小箭头。这两种方式有相似之处,但也有不同之处,下面我们分别看一下。
使用pyplot.arrow创建箭头
pyplot.arrow用于在当前坐标系中创建箭头。下面是该函数的基本语法:
plt.arrow(x,y,dx,dy,**kwargs)
其中,x和y是起始坐标,dx和dy是向量方向和大小,kwargs是其他可选参数,包括颜色、线型、线宽等。
下面是一个简单的实例:
import matplotlib.pyplot as plt
import numpy as np
# 创建一个包含箭头的图表
fig, ax = plt.subplots()
# 创建一个向量
v = np.array([1, 2])
# 创建一个箭头
ax.arrow(0, 0, v[0], v[1], head_width=0.1, head_length=0.2, fc='red', ec='black')
# 设置坐标轴显示范围
ax.set_xlim([-1, 3])
ax.set_ylim([-1, 4])
# 显示图表
plt.show()
下面解释一下这个例子的代码:我们首先导入Matplotlib和Numpy库。然后创建一个坐标系,并使用NumPy库创建一个向量v。最后,我们使用ax.arrow函数在图表中添加箭头,其中头宽和箭头长度分别设置为0.1和0.2,箭头底部颜色设置为红色,边框颜色设置为黑色。最后,我们设置坐标轴的显示范围,并显示图表。
使用patches.Arrow创建箭头
我们也可以使用patches模块中的Arrow函数创建箭头,其用法如下:
from matplotlib.patches import Arrow
arr = Arrow(x, y, dx, dy, **kwargs)
ax.add_patch(arr)
其中,add_patch函数是将箭头添加到当前坐标系中。kwargs参数同样可以设置颜色、线宽、线型等可选参数。
下面是一个用patches.Arrow创建箭头的实例:
import matplotlib.pyplot as plt
from matplotlib.patches import Arrow
# 创建一个包含箭头的图表
fig, ax = plt.subplots()
# 创建一个向量
v = [1,2]
# 创建一个箭头
arr = Arrow(0, 0, v[0], v[1], head_width=0.1, head_length=0.2, fc='red', ec='black')
#添加箭头
ax.add_patch(arr)
# 设置坐标轴显示范围
ax.set_xlim([-1, 3])
ax.set_ylim([-1, 4])
# 显示图表
plt.show()
和第一个例子类似,我们仍然创建一个向量v,然后将其用于创建一个箭头。使用add_patch将箭头添加到坐标系中。最后,我们设置坐标轴的显示范围,并显示图表。
总结
本文介绍了如何在Matplotlib中使用pyplot.arrow或patches.Arrow创建箭头。两个函数有些许不同,但都十分简单易用。如果您需要绘制向量或者其他形状,可以使用这两个函数来完成。
极客笔记