matplotlib自带mathtext引擎,不需要安装text系统 作 为 开 始 和 结 束 符 , 如 作为开始和结束符,如 作为开始和结束符,如 y=x+z $ 填充区域:对曲线下面或者曲线之间的区域进行填充,函数有两个:fill,fill_between 下面是Demo
import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np import datetime #----------------图形中增加注释的符号------------------ # x = np.arange(-10,11,1) # y = x*x # plt.plot(x,y) # #plt.annotate('this is the bottom',xy=(0,5),xytext=(-2,50),arrowprops=dict(facecolor='r',frac=1,headwidth=30,width=10)) # #此函数为增加注释,第一个函数是文字'this is the bottom',xy=()是指注释的起始点,xytext=()是指文字的起始的坐标 # #arrowprops=dict()函数几个功能:1.facecolor,颜色 2.frac,箭头的比例,headwidth,箭头的宽度,width箭头身体的宽度 # #plt.show() # #----------------图形中增加纯文字的标注------------------ # plt.text(-2,40,'functio:y=x*x',family='serif',size=20,color='g',style='italic',weight='0',bbox=dict(facecolor='r',alpha=0.2)) # plt.text(-2,20,'functio:y=x*x',family='fantasy',size=20,color='r',style='oblique',weight='1000') #plt.text()增加纯文字标注的函数,family是指选择字体类型,size字体大小,style='italic'能让文字达到斜体的效果,weigth让文字达到粗体的效果 #bbox=dict(facecolor='r'))函数为将文字描绘出来为红色,alpha调整描绘的透明度 #如何画出一种特殊的文子,就是数学公式 # fig=plt.figure() # ax = fig.add_subplot(111) # ax.set_xlim([1,7]) # ax.set_ylim([1,5]) # ax.text(2,4,r'$\alpha_i \beta_j \pi \lambda \omega$',size=20) # ax.text(4,4,r'$\sin(0)=\cos(\frac{\pi}{2})$',size=20) # ax.text(2,2,r'$\lim_{x \rightarrow y} \frac{1}{x^3}$',size=20) # ax.text(4,2,r'$\sqrt[4]{x}=\sqrt{y}$',size=20) # #ax.text是以面对对象的方式使用,r在字符串前面的意思是指里面的字符串不转意, # #------------工具栏的应用------------------ # N=1000 # j=np.random.randn(N) # k=np.random.randn(N) # colors=np.random.rand(N) # area=np.pi*(15*np.random.rand(N))**2 #0 to 15 point radiuses # plt.scatter(j,k,s=area,c=colors,alpha=0.5) # plt.show() # ------------区域填充------------------ x = np.linspace(0.5*np.pi,10) y1 = np.sin(x) y2 = np.sin(2*x) fig = plt.figure() ax = plt.gca() ax.plot(x,y1,color='r') ax.plot(x,y2,color='b') ax.fill_between(x,y1,y2,where=y1>=y2,facecolor='yellow',interpolate=True) ax.fill_between(x,y1,y2,where=y2>y1,facecolor='green',interpolate=True) # ax.fill_between(x,y1,y2,facecolor='blue') plt.show()