rad*_*rad 6 python interactive real-time matplotlib jupyter
我试图在Jupyter笔记本中进行"实时"绘图.这个例子可以在这里找到.这是代码:
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as pl
from random import randint
from time import sleep
from ipywidgets import FloatProgress
from IPython import display
siz = 10
dat = np.zeros((siz, siz))
fig = pl.figure()
axe = fig.add_subplot(111)
img = axe.imshow(dat)
num = 1000
prgBar = FloatProgress(min=0, max=num-1)
display.display(prgBar)
for i in range(num):
prgBar.value = i
pos = (randint(0, siz-1), randint(0, siz-1))
dat[pos] += 1
img.set_data(dat)
img.autoscale()
#sleep(0.01)
Run Code Online (Sandbox Code Playgroud)
我的目标是看每个迭代后情节如何变化.我也尝试通过pl.ion()设置交互式mod,更改后退到内联,调用pl.draw(),但是没有它正在工作.顺便说一句,进度条工作得很好......
谢谢拉德克
下面的代码应该可以解决这个问题:
import numpy as np
import matplotlib.pyplot as plt
from random import randint
from time import sleep
from ipywidgets import FloatProgress
from IPython.display import display, clear_output
siz = 10
dat = np.zeros((siz, siz))
fig = plt.figure()
axe = fig.add_subplot(111)
img = axe.imshow(dat)
num = 1000
prgBar = FloatProgress(min=0, max=num-1)
display(prgBar)
for i in range(num):
clear_output(wait = True)
prgBar.value = i
pos = (randint(0, siz-1), randint(0, siz-1))
dat[pos] += 1
img.set_data(dat)
img.autoscale()
display(fig)
Run Code Online (Sandbox Code Playgroud)
我更改了 for 循环,在每个步骤上创建图像,并导入clear_output以清理每个步骤的单元格输出。
| 归档时间: |
|
| 查看次数: |
5711 次 |
| 最近记录: |