Jupyter Notebook幻灯片使用技巧


前言

Jupyter Notebook的扩展插件RISE可以使我们的Jupter Notebook笔记转换为简单明了的幻灯片放映,而国内关于RISE使用方法和技巧说明文章较少,因此本文章根据国外一篇关于Jupyter Notebook使用技巧文章翻译而成,主要阐述RISE插件的使用技巧,文章来源详见参考文献部分.


以下是本篇文章正文内容

一、将Jupyter单元格分为两列

在PowerPoint中我们可以在一张幻灯片中,将内容轻松的分片分区展示,虽然这个功能不是Jupyter Notebook中的默认功能。但是这个功能可以通过简单地安装名字为splitcell的Jupyter插件实现。

splitcell的安装和启动

splitcell插件可以通过以下命令安装:

conda install -c conda-forge jupyter_contrib_nbextensions

或者命令:

pip install jupyter_contrib_nbextensions

安装完成后,可以通过以下命令启动:

jupyter nbextension enable splitcell/splitcell

splitcell的使用

splitcell一旦安装好后,使用起来是非常简单和方便的。打开notebook并选中一个需要切分的单元格,按住Shift + S按键即可左右拆分单元格,并形成对齐的列。默认情况下,第一个被切分的单元格会将与左侧对齐,在后续按住Shift + S的单元格将填充右侧。

当notebook进入演示模式时,单元格停留在其所在列,从而在幻灯片中展现两列内容。位于左侧的单元格会在右侧的单元格演示之前演示(也可以通过将右侧的单元格类型选为"-",使其在演示中与左侧单元格一同出现)

以下是splitcell的使用示例:
splitcell演示

二、Jupyter幻灯片隐藏代码

在notebook进行幻灯片展示时,也时常会有只想要展示代码块的输出而不展示实现代码的情况。一个常见的示例是只想要展示数据示例,而不想要展示实现数据输出的panda DataFrame的代码。

如果你想要隐藏所有单元格的所有代码而展现所有代码实现的输出值,你可以使用以下Python函数:

from IPython.display import HTML
import binascii
import os
uid = binascii.hexlify(os.urandom(8)).decode()
def hide_all_code_slideshow():
    toggle = """
    <script>
    code_show=true; 
    function code_toggle() {
     if (code_show){
     $('div.input').hide();
     } else {
     $('div.input').show();
     }
     code_show = !code_show
    } 
    $( document ).ready(code_toggle);
    </script>
    The raw code for this IPython notebook is by default hidden for easier reading.
    To toggle on/off the raw code, click <a href="javascript:code_toggle()">here</a>.
    """
    return toggle

HTML(hide_all_code_slideshow())

如果只想隐藏一个单元格的代码看参照以下代码示例:

def hide_code_in_slideshow():   
    from IPython import display
    import binascii
    import os
    uid = binascii.hexlify(os.urandom(8)).decode()    
    html = """<div id="%s"></div>
    <script type="text/javascript">
        $(function (){
            var p = $("#%s");
            if (p.length==0) return;
            while (!p.hasClass("cell")) {
                p=p.parent();
                if (p.prop("tagName") =="body") return;
            }
            var cell = p;
            cell.find(".input").hide()
        });
    </script>
    """ % (uid, uid)
    display.display_html(html, raw=True)

hide_code_in_slideshow()
import pandas as pd
pd.DataFrame({'a':[1, 2, 3], 'b':[4, 5, 6]})

Jupyter代码隐藏示例:
Jupyter代码隐藏示例

三、转换幻灯片为可写的黑板

Rise插件提供在幻灯片上开启黑板功能,开启后用户可在幻灯片上方书写任意内容。这一功能在在教学课程中中尤其有用。

Rise的黑板功能可通过增加以下参数配置到Jupyter Notebook元数据中启用。

{
  ...,
  "rise": {
    "enable_chalkboard": true
  }
}

编辑选项中找到编辑界面元数据功能,添加上述配置,即可启用黑板功能。

一旦更改了界面元数据设置,Jupyter Notebook必须关闭并且重启才能开启黑板功能。

黑板功能启用后,当幻灯片放映时,你会看到两个新的图标按键如下图所示:

黑板图标
按照上述所说的,黑板功能会带来两个新的核心功能:分别是在当前的幻灯片上创建黑板和在黑板上书写.右边的按键是开启直接在当前幻灯片中书写的功能,左边的按键是开启先创建一个黑板并在黑板上书写的功能。

效果如图所示:

chalkboard

总结

本文主要挑选了在使用Jupyter Notebook幻灯片功能中,较常用到的功能技巧进行介绍,更多使用技巧详见参考文献。

参考文献

Tips for Creating Slideshows in Jupyter | Mark Roepke

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值