关闭一个数字 - PyCharm

时间:2016-11-04 01:34:00

标签: python matplotlib pycharm

我花了一个多小时搜索,只是为了弄清楚这个简单的事情。所以,在考虑这个重复的问题之前,请将我的问题与任何问题进行比较。

这是我的代码:

import pandas
import matplotlib.pyplot as plt

dataset = pandas.read_csv('international-airline-passengers.csv', usecols=[1], engine='python', skipfooter=1)
print dataset, type(dataset)
plt.plot(dataset)
plt.show()
plt.close()

首先,plt.show()对我的理解是阻塞功能。那么关闭这个数字的方法是什么呢?写plt.close()之后没有意义。那么正确的方法在哪里。

其次,当我执行相同python代码的新进程时,如何确保所有窗口都关闭。例如,在MATLAB中,人们可以很容易地说在文件的开头关闭所有文件并关闭所有打开的图,这些图是以前MATLAB代码执行的结果。 plt.close('all')也无效。

我正在使用PyCharm。我在第一种情况下找到的结果可能适用于IDLE但不适用于PyCharm。我怎么能这样做PyCharm。

3 个答案:

答案 0 :(得分:2)

plt.show(block=False)可以解决问题-这是使该功能无阻塞(在运行和调试模式下均可)的方法。主要缺点是,如果代码结束,图形将自动关闭...

答案 1 :(得分:1)

有两种方法可以运行matplotlib,非交互式和交互式。在非交互模式下,默认情况下,您plt.show()正在阻止。在这种情况下,调用plt.close()是没有意义的,只要数字打开,代码就不会停止。但是,在交互模式下(可以由plt.ion()触发),此代码将打开然后立即关闭图形。如果在脚本中运行这样的代码,则需要输入等待用户输入的内容。顾名思义,交互模式更多地设计用于交互式运行而不是脚本运行。

至于关闭多次运行python脚本的数据,这是不可能的。如果打开多个MATLAB实例,则一个实例中的close all将不会关闭另一个实例中的数字。运行相同python代码的多个进程与打开MATLAB的多个实例相同,一个运行不了解其他实例。

答案 2 :(得分:1)

我有同样的问题。 我修复了使Pycharm中的python文件仅在一个控制台中运行的问题。转到:运行-编辑配置-检查“仅单个实例”是否已激活