添加适当标注,可提高图形的可读性;
常用标注包含,坐标轴的值和描述,legand对图像中的线描述,图像任意地方添加文字描述等。
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-5,5,100)
y1=2*x+1
y2=x**2
#设定X/Y轴范围
plt.xlim(-1,2)
plt.ylim((-2,3))
#添加X/Y轴描述
plt.xlabel('I am X')
plt.ylabel('I am Y')
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
'''
'''
#添加刻度线ticks
new_ticks = np.linspace(-2,2,11) #取值(-2,2)范围,采样11个点
print(new_ticks)
plt.xticks(new_ticks)
#字符串代替数字刻度,显示更直观意义
plt.yticks([-1,0,1,2,3],['level1','level2','level3','level4','level5'])
plt.plot(x,y1,color='red',linewidth=5.0,linestyle='-')
#区分两条线,设置线为blue, 线宽=1.0,‘--’
plt.plot(x,y2,color='blue',linewidth=1.0,linestyle='--')
plt.show()
#gca get current axis
#设置坐标轴边框
ax = plt.gca()
ax.spines['right'].set_color('red')
ax.spines['top'].set_color('none')
#添加标题
plt.title(r'$hello\ world$',fontsize=30)
#把X轴的刻度设置为bottom,Y设置位'left'
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#设置bottom,left到零点
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.plot(x,y1,color='red',linewidth=5.0,linestyle='-')
plt.plot(x,y2,color='blue',linewidth=1.0,linestyle='--')
plt.show()
plt.legend([L1,L2],['test1','test2'],loc='upper right')
plt.plot(x,y1,color='red',linewidth=2.0,linestyle='-')
#plt.plot(x,y2,color='blue',linewidth=1.0,linestyle='--')
x0=0.5
y0=2*x0 + 1
#画点
plt.scatter(x0,y0,s=100,color='b')
#画虚线
plt.plot([x0,x0],[y0,0],'g--',lw=2)
#r'$xxxx$'
#xy=蓝色点位置
#xytext:描述框相对xy位置
#textcoords='offset points',以xy为原点偏移xytext
#arrowprops = 画弧线箭头,'---->', rad=.2-->0.2弧度
plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xytext=(+30,-30),textcoords='offset points',fontsize=16,
arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
#放置纯文字描述
#位置:-2,2
#内容:r'$xxxx$'
plt.text(-2,2,r'$this\ is\ the\ text$',fontdict={'size':'24','color':'b'})
plt.show()