gpt4 book ai didi

python - 如何让 python matplotlib 刷新所有图形

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:35 25 4
gpt4 key购买 nike

我正在研究一些大型数据集,这些数据集随着我可以控制的某些参数的函数而变化。我现在想在同一图中的子图中绘制数据的分布。但是,由于数据相当大,构建直方图需要一段时间。

所以,我希望在完成时绘制子图,如下所示。

import matplotlib.pyplot as plt
import numpy as np
import numpy.random as npr

Ne=10
MC=1000000
f1d,f2d = plt.figure(),plt.figure()
for Part in range(Ne):
datax=npr.normal(size=MC)+4*Part/Ne ##Simulates my big data
datay=npr.normal(size=MC) ##Simulates my big data
###The 1d histogram
sf1d = f1d.add_subplot(1,Ne,Part+1,)
sf1d.hist(datax,bins=20,normed=True,histtype='stepfilled',alpha=0.5)
sf1d.hist(datay,bins=20,normed=True,histtype='stepfilled',alpha=0.5)
plt.show(block=False)

###Some flush argument()

###The 2d histogram
sf2d = f2d.add_subplot(1,Ne,Part+1)
sf2d.hist2d(datax,datay,bins=20,normed=True)
plt.show(block=False)

###Some flush argument()

但是,python 不会实时绘制所有子图,而是会缓冲这些子图,直到循环完成。如何强制 matplotlib 立即刷新子图?

最佳答案

来自 matplotlib docs :

matplotlib.pyplot.draw()

Redraw the current figure.

This is used in interactive mode to update a figure that has been altered, but not automatically re-drawn.

A more object-oriented alternative, given any Figure instance, fig, that was created using a pyplot function, is:

fig.canvas.draw_idle()

关于python - 如何让 python matplotlib 刷新所有图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34905799/

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