gpt4 book ai didi

python - Matplotlib 返回空图

转载 作者:太空狗 更新时间:2023-10-30 01:12:10 25 4
gpt4 key购买 nike

我有这个 python 代码:

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

n = 100
x = np.random.randn(n)

def update(curr):
if curr == n:
a.event_source.stop()
plt.cla()
bins = np.arange(-4,4,0.5)
plt.hist(x[:curr],bins = bins)
plt.gca().set_title('Samplng the Normal distribution')
plt.gca().set_ylabel('Frequency')
plt.gca().set_xlabel('Value')
plt.annotate('n = {}'.format(curr), [3,27])

fig = plt.figure()
a = animation.FuncAnimation(fig, update, interval = 100)

它应该每 3 次绘制更新​​一次正态分布图,但是当我运行它时,我的图是空的,没有任何反应。你知道为什么吗?

谢谢!

最佳答案

问题中的代码是完美的。它每 100 毫秒更新一次绘图。

我的猜测如下。您在此处未使用 plt.show() 但仍会看到绘图这一事实表明您在内联环境中使用它。例如。您可能正在使用 Jupyter 并且(有意或无意)激活了 %matplotlib inline。内联后端不支持动画(这很清楚,因为它只显示情节的 png 图像),因此解决方案可能是使用不同的后端。

如果在 jupyter notebook 中:

  • 如果你想在笔记本中加入动画,使用%matplotlib notebook
  • 如果你想在笔记本中添加动画并且使用%matplotlib inline 并且有matplotlib 2.1或更高版本,你也可以使用 from

    IPython.display import HTML
    HTML(ani.to_jshtml())

    显示动画。

  • 如果你想让动画作为它自己的窗口,使用 %matplotlib tk

如果将代码作为脚本运行:

  • 在代码末尾添加plt.show()

如果在spyder中运行

  • 确保您没有在内置的 IPython 控制台中运行代码。而是在新的专用 python 控制台中运行它。
    enter image description here

关于python - Matplotlib 返回空图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44612970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com