分类 程序猿 下的文章

PYPLOT(PYTHON中绘制2D图表)使用详解(五)

在学习机器学习与PYTHON的相关内容中,接触到了pyplot这个子库,感觉非常有用,可是网络上的文章大部分都是比较零散的,于是打算按照官方文档,进行一个简单翻译与演示,详细记录一下该库的使用方法。这是本系列的第五篇,每篇大约讲解20个方法,但有些方法官方也未给出详细的用法,待以后使用中慢慢摸索后再补充。

二、方法介绍(81~100)

81、contour() —— 绘制等值线

82、contourf() —— 绘制等值线

83、csd() —— 绘制交叉谱密度

84、errorbar() —— 绘制误差线图表

85、eventplot() —— 绘制条形码

86、fill() —— 绘制填充图

填充x轴与曲线y之间的区域

87、fill_between() —— 绘制填充图

填充x区间内不同曲线之间的区域

88、fill_betweenx() —— 绘制填充图

填充y区间内不同x的函数曲线之间区域

89、hexbin() —— 绘制hexagonal binning图

90、hist() —— 绘制直方图

91、hist2d() —— 绘制2维直方图

92、hlines() —— 绘制水平线

93、imshow() —— 在axes上显示image图像

参考代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg  # 用于导入图片
img = mpimg.imread('D:\\python\\ML\\test.jpg')  # 导入图片
plt.imshow(img)  # 将图片在plt中显示
plt.show() # 展示plt更直观的看到图像

操作结果:

2345截图20170329141230.png

94、loglog() —— x、y均为指数刻度

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.loglog()
plt.show()

操作结果:

2345截图20170329141348.png

95、magnitude_spectrum() —— 绘制幅度谱

96、pcolor() —— 绘制二维数组的伪彩色图

97、pcolormesh() —— 绘制四边形网格

98、phase_spectrum() —— 绘制相位谱

99、pie() —— 绘制饼状图

100、plot() —— 绘制当前axes

PYPLOT(PYTHON中绘制2D图表)使用详解(四)

在学习机器学习与PYTHON的相关内容中,接触到了pyplot这个子库,感觉非常有用,可是网络上的文章大部分都是比较零散的,于是打算按照官方文档,进行一个简单翻译与演示,详细记录一下该库的使用方法。这是本系列的第四篇,每篇大约讲解20个方法,但有些方法官方也未给出详细的用法,待以后使用中慢慢摸索后再补充。

二、方法介绍(61~80)

61、set_cmap() —— 设置当前image的colormap

关于colormap,可参考help(colormap)

62、imread() —— 读取图像(从图形文件中提取数组)

63、imsave() —— 保存为图像文件中的数组

64、matshow() —— 在新figure中显示数组矩阵

65、polar() —— 绘制极坐标图

参考代码:

import matplotlib.pyplot as plt
plt.polar()
plt.show()

操作结果:

2345截图20170329110045.png

66、plotfile() —— 将图绘入文件

67、spy() —— 绘制二维数组Z的稀疏模式

68、acorr() —— 绘制X的自相关

69、angle_spectrum() —— 绘制角度谱?

70、arrow(x, y, dx, dy) —— 添加箭头

绘制箭头从(x,y)指向(dx,dy)

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.arrow(0,1,2,7,shape='full',overhang=0.2,head_width=0.2)
plt.show()

操作结果:

2345截图20170329111206.png

71、axhline(y=0, xmin=0, xmax=1, hold=none) —— 添加一条穿越axis的水平线

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.axhline(1,0.5,1) # 0.5表示中间,0表示最左,1表示最右
plt.show()

操作结果:

2345截图20170329111430.png

72、axhspan(ymin,ymax,xmin,xmax) —— 添加一个穿越axis的水平矩形(span)

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.axhspan(1,2,0.5,1)
plt.show()

操作结果:

2345截图20170329111701.png

73、axvline(x, ymin, ymax) —— 添加一条穿越axis的竖线

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.axvline(1,0.5,1)
plt.show()

操作结果:

2345截图20170329111826.png

74、axvspan(xmin,xmax, ymin, ymax) —— 添加一条穿越axis的矩形

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.axvspan(1,2,0.5,1)
plt.show()

操作结果:

2345截图20170329111841.png

75、bar() —— 条状图

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.bar(0,1,width=1)
plt.show()

操作结果:

2345截图20170329112223.png

76、barh() —— 绘制横向条形图

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.barh(0,1,height=1)
plt.show()

操作结果:

2345截图20170329112736.png

77、broken_barh() —— 绘制水平柱状图

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,3,4,8])
plt.barh((1,2,3),(1,2,3))
plt.show()

操作结果:

2345截图20170329112855.png

78、boxplot() —— 绘制方框和线

79、cohere() —— 绘制x与y的相关性

80、clabel() —— 为等值线图设置标签

PYPLOT(PYTHON中绘制2D图表)使用详解(三)

在学习机器学习与PYTHON的相关内容中,接触到了pyplot这个子库,感觉非常有用,可是网络上的文章大部分都是比较零散的,于是打算按照官方文档,进行一个简单翻译与演示,详细记录一下该库的使用方法。这是本系列的第三篇,每篇大约讲解20个方法,但有些方法官方也未给出详细的用法,待以后使用中慢慢摸索后再补充。

二、方法介绍(41~60)

41、tight_layout() —— 自动填充

该操作会自动将当前的图形填充满空白区域

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.tight_layout() # 充满画布
plt.show()

操作结果:

2345截图20170328094052.png

42、box() —— 是否展示容器边框(坐标轴)

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.box()
plt.show()

操作结果:

2345截图20170328094206.png

43、title() —— 定义标题

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.title('I\'m a title!')
plt.show()

操作结果:

2345截图20170328094337.png

44、axis() —— 获取或设置轴属性

演示中我们设置了轴的范围,依次为x轴最小值、x轴最大值、y轴最小值、y轴最大值,当然实际中还可以对很多属性进行设置和获取。

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
v = [10,100,10,100] # [xmin,xmax,ymin,ymax]
plt.axis(v)
plt.show()

操作结果:

2345截图20170328094732.png

45、xlabel() —— x轴标签

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.xlabel('XLABEL')
plt.show()

操作结果:

2345截图20170328094830.png

46、ylabel() —— y轴标签

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.ylabel('YLABEL')
plt.show()

操作结果:

2345截图20170328094945.png

47、xlim() —— 设置x轴刻度

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.xlim((10,100))
plt.show()

操作结果:

2345截图20170328095423.png

48、ylim() —— 设置y轴刻度

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.ylim((10,100))
plt.show()

操作结果:

2345截图20170328095543.png

49、xscale() —— 指定x轴线性刻度、指数刻度

参数取值linear/log,指定线性或对数刻度

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.xscale('log')
plt.show()

操作结果:

2345截图20170328100044.png

50、yscale() —— 指定y轴线性刻度、指数刻度

参数取值linear/log,指定线性或对数刻度

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.yscale('log')
plt.show()

操作结果:

2345截图20170328100258.png

51、xticks() —— 获取或设置x轴刻度及对应标签

参考代码:

import matplotlib.pyplot as plt
import numpy as np
plt.plot([1,2,3,3])
plt.xticks( np.arange(5), ('2000', '2005', '2010', '2015', 'Future') )
plt.show()

操作结果:

2345截图20170328151510.png

52、yticks() —— 获取或设置y轴刻度及对应标签

参考代码:

import matplotlib.pyplot as plt
import numpy as np
plt.plot([1,2,3,3])
plt.yticks( np.arange(5), ('2000', '2005', '2010', '2015', 'Future') )
plt.show()

操作结果:

2345截图20170328151607.png

53、minorticks_on() —— 显示最小刻度线

参考代码:

import matplotlib.pyplot as plt
import numpy as np
plt.plot([1,2,3,3])
plt.minorticks_on()
plt.show()

操作结果:

2345截图20170328151954.png

54、minorticks_off() —— 隐藏最小刻度线

参考代码:

import matplotlib.pyplot as plt
import numpy as np
plt.plot([1,2,3,3])
plt.minorticks_on() # 展示最小刻度线
plt.minorticks_off() # 关闭最小刻度线
plt.show()

操作结果:

2345截图20170328152149.png

55、rgrids() —— 获取或设置极坐标网格

参考代码:

import matplotlib.pyplot as plt
plt.subplot(122, polar=True)
plt.rgrids((0.5, 1, 1.5), angle=0)
plt.show()

操作结果:

2345截图20170328153327.png

56、thetagrids() —— 获取或设置极坐标网格θ位置

待补充

57、get_plot_commands() —— 获取所有绘制命令的排序列表

参考代码:

import matplotlib.pyplot as plt
print(plt.get_plot_commands())

操作结果:

2345截图20170328154135.png

58、colormaps() —— 获取所有颜色

参考代码:

import matplotlib.pyplot as plt
print(plt.colormaps())

操作结果:

2345截图20170328154418.png

59、colorbar() —— 彩条标值

待补充

60、clim() —— 设置当前图像的颜色取值范围

文档说是载入图像后,设置两个参数,例如:

plt.clim(0, 0.5)

但实际测试没效果
待补充

PYPLOT(PYTHON中绘制2D图表)使用详解(二)

在学习机器学习与PYTHON的相关内容中,接触到了pyplot这个子库,感觉非常有用,可是网络上的文章大部分都是比较零散的,于是打算按照官方文档,进行一个简单翻译与演示,详细记录一下该库的使用方法。这是本系列的第二篇,每篇大约讲解20个方法,但有些方法官方也未给出详细的用法,待以后使用中慢慢摸索后再补充。

二、方法介绍(21~40)

21、draw() —— 重新绘制当前figure

主要用于更新一个没有设置为自动更新的figure,应用于交互环境中

参考代码:待补充

22、savefig() —— 保存当前figure

来自于Figure.savefig类,用于将当前figure输出到postscript

基本格式:

savefig(fname, dpi=None, facecolor='w', edgecolor='w',
        orientation='portrait', papertype=None, format=None,
        transparent=False, bbox_inches=None, pad_inches=0.1,
        frameon=None)

参数说明:

dpi:[None | scalar>0] 每英寸的分辨率
facecolor,edgecolor:matplotlib色彩 figure图像颜色
orientation: ['landscape'|'portait'] 不支持所有的后台,目前只能在PostScript输出
papertype:'letter','legal','executive','ledger','a0' through 'a10', 'b0' throuth 'b10'等 纸张类型
format: png,pdf,ps,eps,svg等,扩展名
transparent:透明度
frameon:[True|False] 背景图是否现实
bbox_inches: 'tight' 边缘空白区域大小设置

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
plt.plot([1,3,3,8])
plt.savefig('D:\\python\\ML\\test')

操作结果(在指定目录生成了test.png图片):

2345截图20170322170424.png

23、ginput() —— 交互式标注

可以利用该工具实现图像中点的拾取等操作

参考代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg  # 用于导入图片
print(plt.gci()) # 在未向plt中添加内容时,返回None
img = mpimg.imread('D:\\python\\ML\\test.png')  # 导入图片
plt.imshow(img)  # 将图片在plt中显示
print('Please click 3 porints') # 输出一个提示语句
x = plt.ginput(3)  # 捕获用户点击坐标
print(x) # 打印坐标

操作结果:

2345截图20170322171959.png

2345截图20170322172131.png

暂时请忽略这个报错。

24、waitforbuttonpress() —— 监听键盘按键

如果用户按的是键盘,返回True,如果是其他(如鼠标单击),则返回False

参考代码:

import matplotlib.pyplot as plt
plt.figure(1) # 创建figure
plt.grid() # 展示网格
print('Please enter a key') # 提示按键
a = plt.waitforbuttonpress() # 捕捉按键
print(a) # 打印捕捉返回结果

操作结果:

1、按下某个键盘按键,返回True

2345截图20170322173014.png

2、单击鼠标,返回False

2345截图20170322173107.png

25、figtext() —— 为figure添加文字

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
plt.figtext(0.5,0.5,'Hello!') # 前两个参数为坐标,取值范围0~1,0.5表示中间,第三个参数是文字内容
plt.show()

操作结果:

2345截图20170325105357.png

26、suptitle() —— 为figure添加总标题

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
plt.suptitle('Hello!')
plt.show()

操作结果:

2345截图20170325105556.png

27、figimage() —— 添加一个非重采样图像

[待补充]

28、figlegend(arg1,arg2,arg3) —— 为figure添加图例

参数说明:
arg1:一条Line2D实例
arg2:字符串,图例的说明
arg3:图例的位置,对应的位置如下图:

2345截图20170325110935.png

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
line = plt.plot([1,3,3,4]) # 生成一条Line2D
plt.figlegend(line,'a',10) # 将该图例设置为a,位置在中间
plt.show()

操作结果:

2345截图20170325110800.png

28、hold() —— 锁定当前状态

[待补充] 这里的锁定状态与坐标轴axes有关,看起来像是要锁定当前图像。但是在pyplot中,可以在不锁定的情况下继续绘制第二条线路并不影响。这个问题后边再说。

29、ishold() —— 返回锁定状态

[待补充] 还未研究透彻

30、over() —— 以Hold(True)的方式调用函数并保存当前状态

[待补充]

30、axes() —— 为figure添加axes(坐标轴)

参考代码:

import matplotlib.pyplot as plt
rect = [0.1,0.1,0.8,0.8] # [left,bottom,width,height]
plt.axes(rect,facecolor='y') # 生成坐标体系,取值范围rect,颜色:yellow
plt.show()

操作结果:

2345截图20170325152353.png

31、delaxes() —— 删除坐标轴

参考代码:

import matplotlib.pyplot as plt
rect = [0.1,0.1,0.8,0.8] # [left,bottom,width,height]
a = plt.axes(rect,facecolor='y') # 生成坐标体系,取值范围rect,颜色:yellow
plt.delaxes(a) # 删除黄色的坐标体系
a = plt.axes(rect,facecolor='b') # 生成坐标体系,取值范围rect,颜色:blue
plt.show()

操作结果:

2345截图20170325152606.png

32、sca() —— 为ax设置当前坐标轴

[待补充]

33、gca() —— 获取当前实例,用于设置属性

[待补充] 经测试,可以通过plt.gca() 捕获当前坐标体系,但无法通过set设置属性,也无法输出

34、subplot(行,列,序号,背景色) —— 在一个图表中绘制多个子图

注意序号决定了放在哪个格子中,从左到右、从上到下依次增加

演示代码:

import matplotlib.pyplot as plt
plt.subplot(1,2,1,axisbg = 'y') # 在一行两列格子中放置1号图,背景为黄色
plt.subplot(1,2,2,axisbg = 'b') # 在一行两列格子中放置2号图,背景为蓝色
plt.show()

操作结果:

3.png

35、supplots() —— 顾名思义,一次弄多张图

演示代码:

import matplotlib.pyplot as plt
plt.subplots(2,2)
plt.show()

操作结果:

2345截图20170325161356.png

36、subplot2grid() —— 在网格中创建subplot

演示代码:

import matplotlib.pyplot as plt
plt.subplot2grid((2,2),[0,1])  # 添加2行2列的网格,并将图形放置到1行2列[0,1]
plt.show()

操作结果:

2345截图20170325161955.png

37、twinx() —— 绘制与之前axes图轴共用x轴的axes,新的图将被放在右侧。如果ax=None,则覆盖ax,并返回ax2

演示代码:

import matplotlib.pyplot as plt
ax = plt.subplot2grid((1,2),[0,0])
plt.twinx(ax)
plt.show()

操作结果:

2345截图20170325162604.png

38、twiny() —— 使用方法类似twinx,不同的是变成了y轴

演示代码:

import matplotlib.pyplot as plt
plt.subplot2grid((1,2),[0,0])
plt.twinx()
plt.twiny()
plt.show()

操作结果:

2345截图20170325162721.png

39、subplots_adjust() —— 调整subplot布局

参数:subplots_adjust(left=None, bottom=None, right=None, top=None,
wspace=None, hspace=None),参数取值[0,1]

参考代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.subplots_adjust(left=0.2, bottom=0.1, top=0.3)
plt.show()

操作结果:

2345截图20170325163140.png

40、subplot_tool() —— 打开图像的subplot工具窗口

可以通过点击蓝色进度条,调整图形参数。

演示代码:

import matplotlib.pyplot as plt
plt.plot([1,2,3,3])
plt.subplot_tool()
plt.show()

操作结果:

2345截图20170325163447.png

PYPLOT(PYTHON中绘制2D图表)使用详解(一)

在学习机器学习与PYTHON的相关内容中,接触到了pyplot这个子库,感觉非常有用,可是网络上的文章大部分都是比较零散的,于是打算按照官方文档,进行一个简单翻译与演示,详细记录一下该库的使用方法。

一、pyplot简介

pyplot是matplotlib库的一个子库,提供了类似MATLAB的绘图方法,虽然没有MATLAB功能强大,但是对于想学习如何在PYTHON环境下练习机器学习的初学者来说,是一个比较方便的小工具。它主要用来绘制2D图表,例如:

2345截图20170320213030.png

通过对数据进行图形化展示(有点像EXCEL里生成折线图的功能),可以直观的了解数据的分布情况,更好的制定出学习方法。同时,它还可以展示出我们机器学习到的计算方法,了解其与实际情况是否相符等问题。如上图中的黄色虚线,是我通过学习算法得出了数据模拟走势。

二、方法介绍

1、show() —— 显示图形界面。

当我们将图形界面配置完成后,通过调用show()方法来展示界面。

参考代码:

import matplotlib.pyplot as plt # 从matplotlib库导入子库pyplot,缩写为plt
plt.grid() # 显示网格,后面介绍
plt.show() # 显示图形

效果如图所示:

2345截图20170320214345.png

2、isinteractive() —— 返回交互模式状态,布尔值

该命令的作用是返回一个布尔值(True OR False),以此确定交互模式的开关。
该命令决定了是否视图窗口绘图面板在每个pyplot命令后都绘制,如果为False,则每个命令后都更新(但只会在调用draw()命令后才进行绘制)。如果设置为True,则每个pyplot命令都会重新绘制。
该命令与以下四个命令配合密切:
ion() 打开交互模式
ioff() 关闭交互模式
draw() 强制窗口重新绘制

参考代码:暂无

3、ioff() —— 关闭交互模式

参考代码:

import matplotlib.pyplot as plt
print(plt.isinteractive()) # 默认返回False
plt.ion() # 打开交互模式
print(plt.isinteractive()) # 模式已打开,返回True
plt.ioff() # 关闭交互模式
print(plt.isinteractive()) # 模式已关闭,返回False

4、ion() —— 打开交互模式

参考代码:

同3、ioff()

5、pause() —— 暂停若干秒

该命令用于暂停运行,有点类似sleep,但不同之处在于,如果有活动的内容,暂停期间,GUI事件循环仍然会继续运行,就像一个简单的动画。当然,真正动画实现,请参考matplotlib库的animation子库。

参考代码:

import matplotlib.pyplot as plt
print('Pause start')
plt.pause(3) # 暂停3秒
print('Pause end')

效果如下:

2345截图20170321100421.png

6、rc、tc_context、rcdefaults,实际上是同步了matplotlib的同名子类,这里不说了,将来我们在相关文章中专门来说。

7、gci() —— 获取当前元素的基本属性(待编辑)

该命令功能不太明确,我尝试了一下,如果给plt中赋值了,那么会返回一个元组,里面包含图片尺寸等;如果plt为空,则返回None。

参考代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg  # 用于导入图片
print(plt.gci()) # 在未向plt中添加内容时,返回None
img = mpimg.imread('D:\\python\\test.png')  # 导入图片
plt.imshow(img)  # 将图片在plt中显示
plt.axis('off') # 关闭坐标轴
print(plt.gci()) # 打印当前plt中内容的属性,返回AxesImage(80,52.8;496x369.6)
plt.show() # 展示plt更直观的看到图像

操作结果:

2345截图20170321105946.png

8、sci() —— 设置当前图像(Set Current Image)(待编辑)

这张图片将作为地图的目标,类似于jet()方法,当前图像是当前轴的属性。
还不是很清楚怎么用。

9、setp() —— 设置或获取artist属性

比如设置一个线段的属性为短间隔线

参考代码:

import matplotlib.pyplot as plt
line = plt.plot([1,3,3,4]) # 设置一条趋势线
setp(line, linestyle='--') # 设置线的格式为短间隔线
plt.show() # 展示plt

操作结果:

2345截图20170321165154.png

10、xkcd() —— 素描风格绘图模式

他只会对你设置后的代码起作用,而且建议提前安装字体“Humor Sans”

参考代码:

import matplotlib.pyplot as plt
with plt.xkcd(): # 采用素描风格绘图模式
    plt.plot([1,3,3,4]) # 随意设置一组数字方便演示
    plt.show() # 展示内容

操作结果:

2345截图20170321171305.png

11、figure() —— 创建图表

用于创建图表,可创建多个,可通过参数指定序号/分辨率/背景色等信息

参考代码:

import matplotlib.pyplot as plt
plt.figure(1, dpi=100, facecolor='r') # 创建图表1,主色用红色r,分辨率100
plt.plot([1,3,3,4])  # 随意输入个折线
plt.grid() # 显示网格
plt.figure(2, dpi=70, facecolor='b') # 创建图表2,主色用蓝色b,分辨率70
plt.plot([1,3,3,4])
plt.grid()
plt.show()

操作结果:

2345截图20170321213356.png

12、gcf() —— 获取当前figure的尺寸

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
plt.grid()
print(plt.gcf()) # 返回: Figure(640×480)
plt.show()

操作结果:

2345截图20170321214512.png

13、fignum_exists(num) —— 判断figure编号是否存在,返回布尔值

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
print(plt.fignum_exists(1))  # 返回True
print(plt.fignum_exists(2))  # 返回False

操作结果:

2345截图20170321214810.png

14、get_fignums() —— 获取figures序号的数组

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
plt.figure(2)
plt.figure(3)
print(plt.get_fignums())

操作结果:

2345截图20170321215024.png

15、get_figlabels() —— 获取所有figures的标签的数组

未测试到理想结果。缺少相关参考文档。

16、get_current_fig_manager() —— 获取当前的figure的manager的ID

参考代码:

import matplotlib.pyplot as plt
plt.figure(1)
print(plt.get_current_fig_manager().num)
plt.figure(2)
print(plt.get_current_fig_manager().num)

操作结果:

2345截图20170321221149.png

17、connect() —— 作用暂未明确

该方法继承自:FigureCanvasBase.mpl_connect

18、disconnect() —— 作用暂未明确

该方法继承自:FigureCanvasBase.mpl_connect

19、close() —— 关闭figure窗口

参考代码:

import matplotlib.pyplot as plt
plt.figure(1) # 创建窗口1
plt.figure(2) # 创建窗口2
plt.grid() # 窗口增加网格
plt.close(1) # 关闭窗口1
plt.show() # 展示剩余窗口

操作结果:只有窗口2会展示出来,因为窗口1已经关闭了。可以尝试删掉plt.close(1)这一行再试,会发现窗口1和窗口2都被打开了。

20、clf() —— 清空当前窗口

参考代码:

import matplotlib.pyplot as plt
plt.figure(1) # 创建窗口1
plt.grid() # 增加网格
plt.clf() # 清空窗口
plt.show() # 展示窗口

操作结果:注意已经将窗口清空了,如果去掉plt.clf()一行,会发现网格还有展示

2345截图20170322111003.png