我想在 Jupyter Notebook 的开头添加某种功能,以隐藏/显示所有单元格并重新运行所有单元格。我想要结束的是一组图表,当所有单元格重新运行时会刷新这些图表。
详细信息和我尝试过的内容:
文章IPython - 从小部件运行下面的所有单元格显示了如何添加按钮以重新运行下面的所有单元格。以及如何从使用 nbviewer 可视化的 ipython notebook 中的单元格隐藏代码?. 通过在两个不同的单元格中进行此设置,我最终得到了以下结果:
当单元格折叠时,它看起来像这样:
这很好用,但我真的很好奇是否可以设置按钮的格式以使它们看起来相同。也许可以将它们对齐为同一单元格的输出?我试图通过将两个片段放在同一个单元格中来做到这一点,但现在似乎Hide button被覆盖了Refresh button:
片段 1:
from IPython.display import HTML
HTML('''<script>
function code_toggle() {
if (code_shown){
$('div.input').hide('500');
$('#toggleButton').val('Show code')
} else {
$('div.input').show('500');
$('#toggleButton').val('Hide code')
}
code_shown = !code_shown
}
$( document ).ready(function(){
code_shown=false;
$('div.input').hide()
});
</script>
<form action="javascript:code_toggle()"><input type="submit" id="toggleButton" value="Show code"></form>''')
from IPython.display import Javascript, display
from ipywidgets import widgets
def run_all(ev):
display(Javascript('IPython.notebook.execute_cells_below()'))
button = widgets.Button(description="Refresh")
button.on_click(run_all)
display(button)
现在我得到了这个:
输出 1:
有谁知道如何使它更优雅一点?
偶然的你
相关分类