在 IPython 笔记本中隐藏文本而不是 matplotlib 图

Hiding text but not matplotlib plots in IPython notebooks

有时我有一个很长的笔记本(本质上是一个 lab-notebook),里面有很多文本、标题、图表等。我想要的是能够过滤掉所有文本,只显示图表, 这样我就可以快速了解笔记本中的内容或找到我想要的一个情节,但我不记得我把它放在哪里了。笔记本里的文字太多了,需要很长时间才能全部翻完。我知道可以通过扩展来隐藏输入单元格,这在一定程度上有所帮助,但输出中通常也有很多文本。 matplotlib 图通常是 'inline',因此它们只是嵌入的 png。因此,在保留图像的同时隐藏文本应该就足够了。

我查看了 extension index 但没有找到合适的内容。我猜我可以使用 nbconvert 模板或一些 javascript 来实现类似的目的,但也许有人已经有了好的方法。

根据文本输出的类型,您可以通过 custom.js 隐藏 text_output class。为此,将以下行添加到您的 custom.js:

define([
    'base/js/namespace',
    'base/js/events'
    ],
    function(IPython, events) {
        events.on("app_initialized.NotebookApp",
            function () {
            $("#view_menu").append("<li id=\"toggle_toolbar\" title=\"Show/Hide text output\"><a href=\"javascript:text_toggle()\">Toggle Text Output</a></li>");
            }
        );
    }
);


text_show=true;
function text_toggle() {
     if (text_show){
          $('div.output_text').hide();
     } else {
          $('div.output_text').show();
     }
     text_show = !text_show
}

这会在视图菜单中添加一个菜单项来切换 output_text class 的可见性。

当然,如果您在 markdown 单元格中有一些文本,这些文本不会被隐藏。如果需要,应该直接修改上面的代码以隐藏输入单元格 (class input,降价单元格 (class text_cell), 等等