1.在绘图中显示公式
在Matplotlib中可以使用LaTex的命令来编辑公式,只需要在字符串前面加一个'r'即可。
示例1:
import numpy as np import matplotlib.pyplot as plt plt.xlim([1,4]) plt.ylim([1,3]) plt.text(2,2,r'$ \alpha \beta \pi \lambda \omega $',size=20) plt.title(r'$ \sum_{n=1}^\infty -e^{n\pi} $',fontsize=15) plt.show()
结果图:
2.绘图文本注释
绘图时可以通过text函数在指定位置(x,y)加入文本注释,也可以利用annotate()在图中实现带有指向型的文本注释。函数调用格式如下:
plt.text(x,y,s,fontdict=None,**kwargs) plt.annotate(s,xy,*args,**kwargs) #其中,x,y表示显示的文本的坐标位置,s表示显示的字符串
示例2:
import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False %matplotlib inline fig=plt.figure() ax1=fig.add_subplot(121) t=np.arange(0.0,5,0.01) s=np.sin(2*np.pi*t) ax1.plot(t,s,lw=2) bbox=dict(boxstyle='round',fc='white') plt.annotate('local max',xy=(2.3,1),xytext=(3,1.5), arrowprops=dict(facecolor='black',edgecolor='red',headwidth=7,width=2),bbox=bbox) #arrowstyle箭头类型,arrowstyle="->",connectionstyle="arc3"指的是xy与xytext之间的连接类型 bbox_prop=dict(fc='white') ax1.set_ylabel('Y',fontsize=12) ax1.set_xlabel('X',fontsize=12) ax1.set_ylim(-2,2) ax1.text(1,1.2,'max',fontsize=18) ax1.text(1.2,-1.8,'$y=sin(2*np.pi*t)$',bbox=bbox,rotation=10,alpha=0.8) ax2=fig.add_subplot(122) x=np.linspace(0,10,200) y=np.sin(x) ax2.plot(x,y,linestyle='-.',color='purple') ax2.annotate(s='Here I am',xy=(4.8,np.sin(4.8)),xytext=(3.7,-0.2),weight='bold',color='k', arrowprops=dict(arrowstyle='-|>',connectionstyle='arc3',color='red'), bbox=dict(boxstyle='round,pad=0.5',fc='yellow', ec='k',lw=1 ,alpha=0.8)) ax2.set_ylim(-1.5,1.5) ax2.set_xlim(0,10) bbox=dict(boxstyle='round',ec='red',fc='white') ax2.text(6,-1.9,'$y=sin(x)$',bbox=dict(boxstyle='square',facecolor='white',ec='black')) ax2.grid(ls=":",color='gray',alpha=0.5) #设置水印(带方框的水印) ax2.text(4.5,1,'NWNU',fontsize=15,alpha=0.3,color='gray',bbox=dict(fc="white",boxstyle='round',edgecolor='gray',alpha=0.3)) plt.show()
结果图: