Python作为一种十分流行的编程语言,拥有着强大的绘图能力。在Python中,我们可以使用matplotlib库来实现数据可视化,绘制出丰富、精美的图表,这也是Python成为数据科学领域热门工具的原因之一。我们今天就来聊聊Python画出的图停留。
一、基本概念
所谓的图停留,指的是在matpplotlib.pyplot模块中,使用show()函数时,图形会停留在窗口上,不会自动关闭。
当我们在交互式环境(如jupyter notebook环境下)或脚本中使用matplotlib画图时,会发现在使用show()函数时,图形并不会立刻关闭。而是会停留在窗口上,直到手动关闭窗口或者程序运行完毕后关闭,这就是图停留现象。
二、产生原因
产生图停留的原因其实很好理解,在Python中,matplotlib的绘图实际上是使用一个GUI(图形用户界面)来进行展示的,而当我们使用show()函数时,程序会暂停在这里等待我们对图形进行操作。当我们关闭图形界面之后,程序才会继续运行。
在jupyter notebook环境中,我们经常会使用"magic命令" %matplotlib inline 或 %matplotlib notebook,这会让图形直接在输出栏上展示,避免了使用show()函数,也就不存在图停留的问题。
三、解决方法
既然图停留的原因已经明确,那么解决方法也就显而易见了。
1、使用%matplotlib inline命令,直接在jupyter notebook的输出栏上展示图形,避免使用show()函数;
2、在使用show()函数的时候,手动关闭图形界面即可。
四、代码示例
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-10, 10, 100) y = np.sin(x) plt.plot(x,y) plt.show() # 产生图停留现象,手动关闭图形界面即可
五、总结
图停留是我们在Python数据可视化中会遇到的一个问题,但也是十分好解决的。如果是在jupyter notebook环境下,我们可以直接使用"magic命令"来避免使用show()函数;如果是在脚本中,可以手动关闭图形界面。在使用Python进行数据可视化的过程中,遇到一些问题也不必过于纠结,多看看官方文档,多查查问题,相信总会找到解决方案的。