importmatplotlib.pyplotasplt
importmatplotlib
importnumpyasnp
#解决中文乱码问题,引入windows字体库
myfont=matplotlib.font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf')
x=np.linspace(-3,3,50)
y=2*x+1
plt.plot(x,y)
plt.figure(1,figsize=(8,5))
xticks=np.linspace(-3,3,11)
#plt.xticks(xticks)设置坐标点
#yticks=np.linspace(-6,8,14)
#plt.yticks(yticks)
plt.xlabel("x")
plt.ylabel("y")
#挪动坐标位置
ax=plt.gca()
#去掉边框
ax.spines['top'].set_color('none')
ax.spines['right'].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,y0)的位置信息.用plt.plot([x0,x0,],[0,y0,],'k--',linewidth=1.0)
画出一条垂直于x轴的虚线
'''
x0=1
y0=2*x0+1
plt.plot([x0,x0,],[0,y0],'k--',linewidth=2.5)
#setdotstyles
plt.scatter([x0,],[y0,],s=50,color='r')#在这点加个蓝色的原点原点大小50
plt.title(u'Annotation标注',fontproperties=myfont)
#标注方式1:使用annotate接下来我们就对(x0,y0)这个点进行标注.
'''''
其中参数xycoords='data'是说基于数据的值来选位置,xytext=(+30,-30)和
textcoords='offsetpoints'对于标注位置的描述和xy偏差值,arrowprops是对图中箭头类型的一些设置.
'''
plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),
textcoords='offsetpoints',fontsize=16,
arrowprops=dict(arrowstyle='->',connectionstyle="arc3,rad=.2"))
'''''
标注方式2:使用text
其中-3.7,3,是选取text的位置,空格需要用到转字符\,fontdict设置文本字体.
'''
plt.text(-3.7,3,r'$.Annotationtext、\mu\\sigma_i\\alpha_t$',
fontdict={'size':16,'color':'r'})
plt.show()