Yas*_*Yas 11 python matplotlib ipython jupyter-notebook ipywidgets
我想在IPython(python3)中使用Matplotlib和ipywidgets实现交互式绘图.那么,我如何才能有效地做到这一点(顺利改变,没有延迟)?
另一个问题是为什么这段代码有效?!
from ipywidgets import *
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(0, 2 * np.pi)
def update(w = 1.0):
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(x, np.sin(w * x))
fig.canvas.draw()
interact(update);
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用?!
from ipywidgets import *
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(0, 2 * np.pi)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
line, = ax.plot(x, np.sin(x))
def update(w = 1.0):
line.set_ydata(np.sin(w * x))
fig.canvas.draw()
interact(update);
Run Code Online (Sandbox Code Playgroud)
第二种方法适合笔记本后端
%matplotlib notebook
Run Code Online (Sandbox Code Playgroud)
或者用ipympl。
但是,它不适用于不更新绘图的内联后端。
| 归档时间: |
|
| 查看次数: |
6136 次 |
| 最近记录: |