主要用到两种方法
plt.annotate()
plt.text()
直接上代码:
import matplotlib.pyplot as plt
import numpy as np
#坐标轴中绘制一条直线
x = np.linspace(-3, 3, 50)
y = 2*x + 1
plt.figure(num=1, figsize=(8, 5),)
plt.plot(x, y,)
#挪动坐标轴位置
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
#添加标注
x0 = 1
y0 = 2*x0 + 1
plt.scatter(x0,y0, s=50, color='b')
plt.plot([x0,x0],[y0,0], 'r--', lw=2.5)
# method 1
###################
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0,y0), xycoords='data', xytext=(+30,-30), textcoords='offset points',
fontsize=16, arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=.2'))
# method 2
###################
plt.text(-3,3,r'$This is a note. sigma_i mu alpha_t$',fontdict={'size':16,'color':'r'})
plt.show()