前言
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
的使用示例:
二、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代码隐藏示例:
三、转换幻灯片为可写的黑板
Rise插件提供在幻灯片上开启黑板功能,开启后用户可在幻灯片上方书写任意内容。这一功能在在教学课程中中尤其有用。
Rise的黑板功能可通过增加以下参数配置到Jupyter Notebook元数据中启用。
{
...,
"rise": {
"enable_chalkboard": true
}
}
在编辑选项中找到编辑界面元数据功能,添加上述配置,即可启用黑板功能。
一旦更改了界面元数据设置,Jupyter Notebook必须关闭并且重启才能开启黑板功能。
黑板功能启用后,当幻灯片放映时,你会看到两个新的图标按键如下图所示:
按照上述所说的,黑板功能会带来两个新的核心功能:分别是在当前的幻灯片上创建黑板和在黑板上书写.右边的按键是开启直接在当前幻灯片中书写的功能,左边的按键是开启先创建一个黑板并在黑板上书写的功能。
效果如图所示:
总结
本文主要挑选了在使用Jupyter Notebook幻灯片功能中,较常用到的功能技巧进行介绍,更多使用技巧详见参考文献。