带有框架控件的交互式绘图

带有框架控件的交互式绘图

我想知道是否有任何方法可以在 Beamer 演示文稿中包含一个可以使用滑块控件以交互方式更改的图表。

例如,我想显示以下 ipython 交互式图表

from ipywidgets import widgets, Layout, Button, Box
from IPython.display import display
import matplotlib.pyplot as plt
import numpy as np
%matplotlib notebook

x = np.linspace(0, 2 , 1000)
fig, ax =plt.subplots(1, figsize=(10,4))
plt.suptitle('Sine Wave')

def update_plot(amp, phase, freq):
    ax.clear()
    units = 'amp = {} $(\phi)$ \nphase = {}  $s$ \nfreq = {} $Hz$'
    y = amp*np.sin(2*np.pi*(freq*x+phase))
    ax.plot(x,y, label=units.format(amp, phase, freq))
    ax.legend(loc=1)
    ax.set_xlabel('seconds')
    ax.set_ylabel('Amplitud')
    ax.set_xlim(x[0], x[-1])
    plt.show()

amp1 = widgets.FloatSlider(min=1, max=10, value=4, description= 'Amp:')
phase1 = widgets.FloatSlider(min=0, max=5, value=0, description= 'Phase:')
freq1 = widgets.FloatSlider(min=1, max=10, value=1, description= 'Freq:')
widgets.interactive(update_plot,amp=amp1, phase=phase1, freq=freq1)

显示具有三个控制的图:正弦函数的幅度、相位和频率。

在此处输入图片描述

Beamer 允许使用多媒体包嵌入电影,但当然也可以在演示文稿中使用 Jupiter 笔记本的 Python 代码。

相关内容