修改IPython笔记本“交互”中的线条/绘图

2024-09-29 19:28:46 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法在IPython“interact”函数中修改绘图而不是重新填充它?你知道吗

如果绘图包含大量繁重的图形(或某些部分需要繁重的计算),则比从头开始绘图要快得多。你知道吗

我正在尝试以下代码,但它不起作用:更改滑块后,整个绘图变为空白。你知道吗

%matplotlib inline
import matplotlib.pyplot as plt
from IPython.html.widgets import interact
import numpy as np

x = np.arange(0,11.)
y1 = x / 10.
y2 = np.random.rand(len(x))

plt.plot(x,y1)
plt.plot(x,y2)

plt.ylim([0,1])
ax = plt.gca()

def replot_it(a):
    ax.lines.pop(1)

    y = (x/10.)**a
    ax.plot(x,y)

interact(replot_it, a=(0.,5.))

如有任何建议,我将不胜感激。你知道吗


Tags: import绘图plotmatplotlibasipythonnpit
1条回答
网友
1楼 · 发布于 2024-09-29 19:28:46

如果您有IPython>;3.0和mpl>;1.4:run这是一个单元:

%matplotlib notebook
import matplotlib.pyplot as plt
from IPython.html.widgets import interact
import numpy as np

x = np.arange(0,11.)
y1 = x / 10.
y2 = np.random.rand(len(x))
fig, ax = plt.subplots()
ln1, = ax.plot(x,y1)
ln2, = ax.plot(x,y2)

ax.set_ylim([0,1])


def replot_it(a):
    y = (x/10.)**a
    ln2.set_ydata(y)
    ax.figure.canvas.draw()

以及

interact(replot_it, a=(0.,5.))

在它下面的牢房里。你知道吗

相关问题 更多 >

    热门问题