皮查姆并不总是用新人物来策划

2024-05-16 18:29:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经安装了PyCharm的最新版本(2020.2.2 Pro)。我已将PyCharm配置为在SciView中绘图

当我运行以下代码5次时,它只生成两次新的绘图。所有其他时间,它都会覆盖上一个图形

import matplotlib.pyplot as plt
import numpy as np

plt.figure()
plt.plot(np.sin(np.linspace(0,5,100)))
plt.show()

当一个人想要比较多个绘图的结果时,这种行为非常令人讨厌

My PyCharm还配置为在每次运行文件时启动一个新的python实例。如果省略plt.figure()行,我也会看到相同的行为

此外,新的绘图不会以任何可重复的方式出现。就像我运行这段代码3次一样,我从第一次运行中只得到一个绘图,但是在第四次运行中,我得到了第二个绘图

如果我通过Settings>Python Scientific>Show plots in tool window在SciView中禁用打印。每次运行代码时,我都会生成一个新的绘图

重新运行代码时替换的绘图也是随机选择的。如果我有4个绘图,其中一个被替换,通常是底部缩略图的绘图,但有时列表中的另一个随机绘图被替换

如果我设置Settings>Build, Execution, Deployment>Console>Use existing console for "Run with Python Console",每次我都会得到一个新的数字。这很好,只是每次运行都需要一个新的控制台,因为我经常修改由生成绘图的代码导入的库。如果我没有得到一个新的控制台,导入将被忽略,库的现有版本将保留在解释器内存中。我想我可以通过在iPython中设置%autoreload来解决这个问题,但这有点麻烦

如果您遇到此问题,请尝试设置Use existing console for "Run with Python Console",并将以下内容放在正在运行的python文件中的某个位置

from IPython import get_ipython
ipython = get_ipython()
if ipython is not None:
    ipython.magic("%load_ext autoreload")
    ipython.magic("%autoreload")

Tags: 文件代码import版本绘图settingsasipython