我想知道是否有任何方法可以在 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 代码。