为什么Matplotlib无法在pycharm中进行绘制?

时间:2019-05-30 01:04:44

标签: python matplotlib pycharm

我想在每次长时间循环后刷新图。从我的谷歌搜索来看,最好的选择似乎是在循环中使用plt.draw(),而不是matplotlib的动画模块,因为我只希望在有新数据可用时进行更新。

尽管plt.draw()在pycharm中不起作用,即使通过外部外壳运行时,它在相同的解释器中也可以工作。我什至没有得到一个空的matplotlib窗口。我尝试过使用互动模式和不使用互动模式。

Matplotlib版本3.1.0

Python版本3.6.5

Pycharm 2018.1.1

下面是另一篇文章的一些代码,这些代码在pycharm之外可以正常工作,但是在pycharm中,我得到的退出代码为0,甚至没有错误。

import matplotlib.pyplot as plt
import numpy as np
# import matplotlib
#
# print(matplotlib.get_backend())


for i in range(50):
    y = np.random.random([10,1])
    plt.plot(y)
    plt.draw()
    plt.pause(0.0001)
    plt.clf()

期望一系列随机图,除了退出代码0以外什么都不会得到

2 个答案:

答案 0 :(得分:0)

您不需要使用plt.draw()。尝试以下代码:

import matplotlib.pyplot as plt
import numpy as np

for i in range(10):
    y = np.random.random([10, 1])
    plt.plot(y, 'o')
    plt.pause(3)
    plt.close()

答案 1 :(得分:0)

您可以将show()的屏蔽设置设为false。

for i in range(50):
    y = np.random.random([10,1])
    plt.plot(y)
    if i <1:
        plt.show(block=False)
    plt.draw()
    plt.pause(0.0001)
    plt.clf()