1️⃣如何绘制箭头
使用plt.arrow生成箭头,前两个参数为起点,后两个参数为偏移量,可以设置箭头的大小宽度,以及箭头和线条的颜色。
plt.arrow(0, 0, vec[0], vec[1], head_width=0.1, head_length=0.1, fc=color[i], ec=color[i])
2️⃣如何设置向量名称
可以使用plt.annotate设置箭头的标签,标签名可以使用Latex输入。
plt.annotate(labels[i], xy=vec, xytext=(vec[0]+0.2, vec[1]-0.1))
输入为名称,向量位置,以及标签对应位置
3️⃣完整代码
# 二维向量
vectors = [[4, 0], [4.3, 0.4], [2, 3],[3.8,2.3],[6.5,2]]
# 对应的标签
labels = [r'$\vec{G}_t$', '',r'$\vec{W}_1^’$', '', r'$\vec{W}_2^’$']
color = ['black', 'blue', 'red', 'blue', 'red']
# 绘制向量和标签
for i, vec in enumerate(vectors):
plt.annotate(labels[i], xy=vec, xytext=(vec[0]+0.2, vec[1]-0.1))
# 绘制箭头
plt.arrow(0, 0, vec[0], vec[1], head_width=0.1, head_length=0.1, fc=color[i], ec=color[i])
# 设置坐标轴范围和标题
plt.xlim(-1, 7)
plt.ylim(-1, 5)
# 去除坐标辅助线
ax = plt.gca() # 获取当前坐标轴对象
ax.spines['top'].set_visible(False) # 隐藏顶部边框
ax.spines['right'].set_visible(False) # 隐藏右侧边框
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.xaxis.set_ticks_position('none') # 隐藏x轴刻度
ax.yaxis.set_ticks_position('none') # 隐藏y轴刻度
ax.tick_params(axis='both', which='both', length=0, labelsize=0)
# 显示图形
plt.show()