Python绘图常识ylim(),plt.legeng(),plt.show()figure()函数函数原型:matplotlib.pyplot.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True,FigureClass=,clear=False,**kwargs)--创建新图形,或激活现有图形。创建新画布或激活现有画布参数:num:int或str,图形的唯一编号。不指定数字时,默认从1自动增加到int。figsize:指定图形的宽度和高度,以英寸为单位;=(weight,height)dpi:指定绘图对象的分辨率,即每英寸多少像素,默认值为801英寸等于2.5cm,A4纸为21*30cm纸facecolor:背景色,facecolor='blue'edgecolor:bordercolorframeon:是否显示边框(1)只画一张图,不能使用plt.figure(),默认画在一张图上importmatplotlib.pyplotinthecanvas作为pltx=[1,2,3]y1=[1,2,4]y2=[1,4,8]plt.plot(x,y1,color="red",label="red")plt.plot(x,y2,color="green",label="green")plt.legend()#没有这样的语句不会显示右上角的labelplt.show()(2)如果要画两个为一个图片,你必须使用plt.figure()两次。您可以指定num或不指定。如果调用两次,默认会加1importmatplotlib.pyplotaspltx=[1,2,3]y1=[1,2,4]y2=[1,4,8]plt.figure()plt.plot(x,y1,color="red",label="red")plt.legend()#没有这样的语句不会显示右下角labelplt.figure()plt.plot(x,y2,color="green",label="green")plt.legend()#没有这样的语句不会显示右上角的labelplt.show()当然你也可以指定同一个num,会和上面的输出一致.在同一张画布中输出图片,也为我们以后在某个画布上添加图片提供了机会。我们只需要调用plt.figure(num),然后调用绘制图形的函数,比如plt.plot()等。subplot()和subplots()subplot()可以将图形分成n个子图,然后每次执行subplot()都会生成对应的subplot()函数原型:subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)`参数:nrows:子图的行数ncols:子图的列数sharex:所有子图应使用相同的X轴刻度(调整xlim将影响所有子图)sharey:所有子图应使用相同的Y-axisscale(调整ylim会影响所有子图)subplot_kw:用于创建每个子图的关键字字典**fig_kw:创建图形时的其他关键字importnumpyasnpiimportmatplotlib.pyplotaspltx=np.arange(0,100)#Drawing1plt.subplot(2,2,1)#相当于plt.subplot(221)plt.plot(x,x)#Drawing2plt.subplot(2,2,2)plt.plot(x,-x)#Plot3plt.subplot(2,2,3)plt.plot(x,x**2)plt.grid(color='r',linestyle='--',linewidth=1,alpha=0.3)#Graphing4#plt.subplot(224)#plt.plot(x,np.log(x))plt.show()subplots()函数类似于subplot()参数importnumpyasnpimportmatplotlib.pyplotaspltx=np.arange(0,100)#划分子图fig,axes=plt.subplots(2,2)#返回一个canvas和axes对象,可以取出对应的axes调用绘图函数ax1=axes[0,0]ax2=axes[0,1]ax3=axes[1,0]ax4=axes[1,1]#drawing1ax1.plot(x,x)#drawing2ax2.plot(x,-x)#Map3ax3.plot(x,x**2)ax3.grid(color='r',linestyle='--',linewidth=1,alpha=0.3)#Drawing4#ax4.plot(x,np.log(x))plt.show()和subplot()的区别在于subplots()是一次性绘制的轴,然后调用绘图函数图形对象可以添加子图或绘图区域figure.add_subplot()importnumpyasnpimportmatplotlib.pyplotaspltx=np.arange(0,100)#Newfigureobjectfig=plt.figure()#Newsubplot1ax1=fig.add_subplot(2,2,1)ax1.plot(x,x)#Newsubplot3ax3=fig.add_subplot(2,2,3)ax3.plot(x,x**2)ax3.grid(color='r',linestyle='--',linewidth=1,alpha=0.3)#新建子图4ax4=fig.add_subplot(2,2,4)ax4.plot(x,np.log(x))plt.show()可以看到subplot的效果没有区别。figure.add_axes()importnumpyasnpiimportmatplotlib.pyplotasplt#Newfigurefig=plt.figure()#定义数据x=np.array([1,2,3,4,5,6,7])#Newareaax1#图形的百分比,从图形10%的位置开始绘制,宽和高都是图形的80%#图形里面还需要留图片,bottom,width,height=0.1,0.1,0.8,0.8#获取绘制的手柄ax1=fig.add_axes([left,bottom,width,height])#获取一个区域ax1.plot(x,x**2,'r')ax1.set_title('a1')#plt.plot(x,y,'r')#添加区域ax2,嵌套在ax1left,bottom,width,height=0.2,0.6,0.25,0.25#获取绘制的句柄ax2=fig.add_axes([左边,bottom,width,height])#获取另外一个区域ax2.plot(x,x**3,'b')ax2.set_title('a2')plt.show()这样就可以在图中任意位置绘制图像,更灵活!plt.plot()parameters:x,y:x可选,如果x不存在,默认从0到n-1,是y的索引fmt:str,可选,定义颜色和样式行的,比如“ro”是红色圆圈,“r--”是红色虚线,这是一种快速设置样式的方法,更多参数可以参考最后的键盘参数。kwargs:Line2Dproperties,optional这是很多可选的内容,你可以在里面指定很多内容,比如"label"指定线的标签,"linewidth"指定线的宽度等importmatplotlib.pyplotasplta=[1,2,3,4]#y是a的值,x是每个元素的索引b=[5,6,7,8]plt.plot(a,b,'g--',label='aa')plt.xlabel('thisisx')plt.ylabel('thisisy')plt.title('thisisademo')plt.legend()#显示示例plt.show()plt。xlim()和plt.ylim()importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(1,10,1000)y=np.random.rand(1000)plt.scatter(x,y,label="scatterfigure")plt.legend()plt.xlim(1,10)#指定x和y的scale值plt.ylim(0,1)plt.show()plt.legeng()legend--------(翻译:(maporicon)legend,description,explanation)1.设置图表列的位置plt.legend(loc='')#填写位置,如:左上,然后是图例位于左上角2.设置图例字体大小fontsize:intorfloator{'xx-small','x-small','small','medium','large','x-large','xx-large'}3.设置图例边框和背景plt.legend(loc='best',frameon=False)#去除图例边框plt.legend(loc='best',edgecolor='red')#设置图例边框颜色plt.legend(loc='best',facecolor='blue')#设置图例背景颜色,如果没有边框则参数无效4.设置图例标题legend=plt.legend(["BJ","SH"],标题='北京VS上海')importmatplotlib.pyplotaspltimportnumpyasnpx=np.arange(0,10,1)plt.plot(x,x,'r--',x,np.cos(x),'g--',marker='*')plt.xlabel('row')plt.ylabel('cow')plt.legend(["BJ","SH"],loc='左上角',title='北京VS上海'#,frameon=False,edgecolor='green',facecolor='black')plt.show()plt.show()plt.show()是显示图片,有些人为什么我这样做不用这个功能,同样可以显示图片??可能是您正在使用IPython等交互式编程环境。比如jupyternotebook也是内部调用IPython,因为这种类型可以及时输出结果。如果你想要一个IDE(集成开发环境,比如pycharm),你必须使用plt.show()