在使用PyCharm时如何获得pyplot的交互式绘图功能

20
我正在使用 PyCharm 作为 Python 的 IDE,当你用相同的代码(如 pyplot.plot(...)、pyplot.show())绘制图表时,PyCharm 会在其 IDE 中显示它。但是,这看起来像是静态图像。当你放大图表时,它开始变得模糊。
在其他 IDE 中,pyplot 创建了一个交互式图表。当你放大图表时,它基本上重新绘制曲线。你还可以拖拽图表。有没有办法在 PyCharm 中获得来自 pyplot 的交互式图表呢?

enter image description here enter image description here


不,当你保存绘图时,它会变成一张图片。 - Primusa
21
禁用 设置 | 工具 | Python 科学 | 在工具窗口中显示绘图 即可。这样就可以解决问题了。 - Pavel Karateev
5
根据 Pavel 在这里所描述的(https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000736584-SciView-in-PyCharm-2017-3-reduces-functionality-of-Matplotlib),你可能需要更改你的后端,例如使用 matplotlib.use('Qt5Agg') 或 matplotlib.use('TkAgg')。 - MichaelA
@PavelKarateev 我在“工具”下没有看到“Python Scientific”。在设置中搜索plotsscientific也没有显示任何内容。 - endolith
原来这才是我的实际问题:https://dev59.com/eWAf5IYBdhLWcg3wOQgL#rDIzoYgBc1ULPQZF0Geq。只要我输入`plt.show()`,它就可以交互式地绘制出来,无需进行任何更改。 - endolith
1个回答

15

只需更改绘图后端。

如果您使用的是 macOS:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use('macosx')

plt.plot(range(10))

应该产生一个新的窗口,看起来像这样: enter image description here

或者如果您喜欢不同的后端或者在Windows上(如@MichaelA所说)

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use('Qt5Agg')  # or can use 'TkAgg', whatever you have/prefer

plt.plot(range(10))

5
如果有人感兴趣,我想提一下,在禁用“在工具窗口中显示绘图”问题的答案以及 Pavel Karateev 在评论中的留言中,对于我使用的 PyCharm 2020.1.1 在 Mac OS X 10.14.6 上会产生一个交互式图。 - hlongmore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接