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

时间:2015-07-22 21:30:40

标签: matplotlib ipython-notebook

有时候我有一个很长的笔记本(实际上是一个实验室笔记本),有很多文字,标题,情节等等。我想要的是能够过滤掉所有文字并只显示情节,以便我可以快速了解笔记本中的内容或找到我想要的一个情节,但我记不清楚我把它放在哪里。笔记本中有足够的文字,需要很长时间才能滚动浏览所有内容。我知道有一个扩展可以隐藏输入单元格,这有点帮助,但通常输出中也有很多文本。 matplotlib图通常是“内联的”,因此它们只是嵌入式png。因此,在保留图像的同时隐藏文本应该足够了。

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

1 个答案:

答案 0 :(得分:0)

根据文本输出的类型,您可以通过custom.js隐藏 text_output 类。为此,将以下行添加到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 类的可见性。

当然,如果您在markdown单元格中有一些文本,则不会隐藏这些文本。如果需要,应该直接调整上面的代码来隐藏输入单元格(类输入,降价单元格(类 text_cell )等等。