Matplotlib中pyplot文本标注与箭头绘制详解

认真发呆
认真发呆
发布时间:2026-10-12 | 2人浏览过
原创

本文介绍Matplotlib库中pyplot模块的文本标注与箭头功能。通过text()函数可指定文字位置、对齐方式及边框样式;利用annotate()函数可添加带样式的箭头并关联起点与终点坐标。文章提供了完整的代码示例,展示如何在双子图中对曲线进行标注和箭头指示,帮助读者掌握图表注释技巧。

在使用pyplot进行绘图时,往往需要在图表中添加文字说明。特别是当多条曲线靠得较近时,使用箭头明确标注文字与对应曲线的关系显得尤为重要。本节将详细介绍如何实现文本标注和箭头的添加。

添加文本标注主要调用pyplot.text函数,该函数既可以通过pyplot直接调用,也可以通过subplot对象调用。以下是该函数支持的部分可选参数说明。

text(tx,ty,fontsize=fs,verticalalignment=va,horizontalalignment=ha,...)

参数tx和ty用于指定文字放置的坐标位置;va和ha分别控制垂直和水平对齐方式,可选值包括top、bottom、center(垂直)以及left、right、center(水平)。此外,文字还可以设置边框,边框形状支持箭头样式,并可指定箭头的具体方向。

添加箭头标注则使用pyplot.annotate函数,其调用方式与text类似。以下是该函数支持的部分可选参数说明。

annotate(text,xy=(tx0,ty0),xytext=(tx1,ty1),arrowprops=dict(arrowstyle="->",connectionstyle="arc3"))

参数text表示与箭头关联的说明文字;xy指定箭头的终点坐标,xytext指定箭头的起点坐标;arrowprops用于指定箭头的样式细节。更多高级用法请参考官方手册。

最终生成的图表效果如下所示。

实现上述效果的代码如下,这是在原有subplot基础上的修改版本。

#!/usr/bin/env python

import numpy as np
import matplotlib.pyplot as plt

def f1(t):
 return np.exp(-t)*np.cos(2*np.pi*t)

def f2(t):
 return np.sin(2*np.pi*t)*np.cos(3*np.pi*t)

t = np.arange(0.0,5.0,0.02)

plt.figure(figsize=(8,7),dpi=98)
p1 = plt.subplot(211)
p2 = plt.subplot(212)

label_f1 = "$f(t)=e^{-t} \cos (2 \pi t)$"
label_f2 = "$g(t)=\sin (2 \pi t) \cos (3 \pi t)$"

p1.plot(t,f1(t),"g-",label=label_f1)
p2.plot(t,f2(t),"r-.",label=label_f2,linewidth=2)

p1.axis([0.0,5.01,-1.0,1.5])

p1.set_ylabel("v",fontsize=14)
p1.set_title("A simple example",fontsize=18)
p1.grid(True)
#p1.legend()

tx = 2
ty = 0.9
p1.text(tx,ty,label_f1,fontsize=15,verticalalignment="top",horizontalalignment="right")

p2.axis([0.0,5.01,-1.0,1.5])
p2.set_ylabel("v",fontsize=14)
p2.set_xlabel("t",fontsize=14)
#p2.legend()
tx = 2
ty = 0.9
p2.text(tx,ty,label_f2,fontsize=15,verticalalignment="bottom",horizontalalignment="left")

p2.annotate('',xy=(1.8,0.5),xytext=(tx,ty),arrowprops=dict(arrowstyle="->",connectionstyle="arc3"))

plt.show()

对于此类基础功能,保持代码简洁明了即可,无需过度复杂化。

总结

以上就是关于Matplotlib中pyplot文本标注与箭头使用的全部内容,希望能为读者提供帮助。感兴趣的朋友还可以继续查阅本站的相关文章:

《用matplotlib画等高线图详解》

《Python通过matplotlib绘制动画简单实例》

《matplotlib简介,安装和简单实例代码》

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表