我用的是ipython Jupyter笔记本。假设我定义了一个函数,它在屏幕上占据了很大的空间。有办法让细胞崩溃吗?
我希望函数保持执行和可调用,但我想隐藏/折叠单元格,以便更好地可视化笔记本。我该怎么做呢?
我用的是ipython Jupyter笔记本。假设我定义了一个函数,它在屏幕上占据了很大的空间。有办法让细胞崩溃吗?
我希望函数保持执行和可调用,但我想隐藏/折叠单元格,以便更好地可视化笔记本。我该怎么做呢?
当前回答
这个问题有很多答案,我觉得所有的答案都不令人满意(有些比其他的多),在许多扩展中-代码折叠,按标题折叠等等。没有人能简单有效地做我想要的事情。我真的很惊讶,一个解决方案还没有实现(因为它已经为Jupyter实验室)。
事实上,我非常不满意,以至于我开发了一个非常简单的笔记本扩展,可以在笔记本单元格中展开/折叠代码,同时保持它的可执行性。
GitHub存储库:https://github.com/BenedictWilkinsAI/cellfolding
下面是扩展的一个小演示:
只需双击左边的代码单元格,就可以将其折叠成一行:
再次双击将展开单元格。
扩展可以轻松安装与pip:
pip install nbextension-cellfolding
jupyter nbextension install --py cellfolding --user
jupyter nbextension enable --py cellfolding --user
并且也与nbeextension配置器兼容。我希望人们会发现这有用!
其他回答
我有同样的问题,我发现这个扩展有用
pip install aquirdturtle_collapsible_headings
首先,遵循Energya的指导:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
第二是关键:打开木星笔记本后,点击nbeextension标签。现在从nbeextension提供的搜索工具中搜索“colla”(不是由web浏览器提供的),然后你会发现一些叫做“可折叠标题”的东西
这就是你想要的!
hide_code扩展允许您隐藏单个单元格和/或它们旁边的提示符。安装
pip3 install hide_code
访问https://github.com/kirbs-/hide_code/了解有关此扩展的更多信息。
这个问题有很多答案,我觉得所有的答案都不令人满意(有些比其他的多),在许多扩展中-代码折叠,按标题折叠等等。没有人能简单有效地做我想要的事情。我真的很惊讶,一个解决方案还没有实现(因为它已经为Jupyter实验室)。
事实上,我非常不满意,以至于我开发了一个非常简单的笔记本扩展,可以在笔记本单元格中展开/折叠代码,同时保持它的可执行性。
GitHub存储库:https://github.com/BenedictWilkinsAI/cellfolding
下面是扩展的一个小演示:
只需双击左边的代码单元格,就可以将其折叠成一行:
再次双击将展开单元格。
扩展可以轻松安装与pip:
pip install nbextension-cellfolding
jupyter nbextension install --py cellfolding --user
jupyter nbextension enable --py cellfolding --user
并且也与nbeextension配置器兼容。我希望人们会发现这有用!
我用来得到理想结果的方法是:
将下面的代码块保存在一个名为toggle_cell.py的文件中,该文件位于与笔记本相同的目录中
from IPython.core.display import display, HTML
toggle_code_str = '''
<form action="javascript:code_toggle()"><input type="submit" id="toggleButton" value="Show Sloution"></form>
'''
toggle_code_prepare_str = '''
<script>
function code_toggle() {
if ($('div.cell.code_cell.rendered.selected div.input').css('display')!='none'){
$('div.cell.code_cell.rendered.selected div.input').hide();
} else {
$('div.cell.code_cell.rendered.selected div.input').show();
}
}
</script>
'''
display(HTML(toggle_code_prepare_str + toggle_code_str))
def hide_sloution():
display(HTML(toggle_code_str))
在笔记本的第一个单元格中添加以下内容
from toggle_cell import toggle_code as hide_sloution
需要添加切换按钮的任何单元格只需调用hide_sloution()