流程介绍
- 安装 Jupyter Notebook
- 安装 jupyter-themes
- 个性化设置 - 文本 & 代码
- 个性化设置 - 图表 (Plot) 样式
1 安装 Jupyter Notebook
Jupyter Notebook 作为 python 代码分块运行的平台广泛被使用,若读者计划安装 Jupyter Notebook,可以参照以下步骤:
1.1 (可选)试用 Jupyter Notebook
Jupyter 提供了线上测试版本的 Notebook,可以访问以下网址试用:https://try.jupyter.org/
1.2 使用 pip 安装
升级 pip 后再安装包是一个好习惯:
pip install --upgrade pip
安装 / 更新至 最新版本:
pip install --upgrade ipython jupyter
1.3 测试安装状态
安装完成后,重新启动终端,输入:
jupyter notebook -h
若输出对应版本号则安装成功。
2 安装 jupyter-themes
jupyter-themes 是由 dunovank 在 github 上维护的一个仓库,同时也提交到 pip 源中,使用者可以直接通过 pip 安装:
pip install --upgrade pip
pip install --upgrade jupyterthemes
安装完成后,在终端或 Notebook(.ipynb) 中执行 jt -h
测试是否安装成功:
终端:
jt -h
Notebook(.ipynb):
# 在 Notebook(.ipynb) 中,感叹号“!”开头的语句将在终端中被执行;
# 并将输出打印在 Notebook(.ipynb) 中。
!jt -h
若输出使用帮助则安装成功。
3 个性化设置 - 文本 & 代码
jupyter-themes 提供了许多预设主题,为方便及时预览、选择,以下操作建议在 Notebook(.ipynb) 中执行:
!jt -l
执行上述指令,将列出预设主题。
Available Themes:
chesterish
grade3
gruvboxd
gruvboxl
monokai
oceans16
onedork
solarizedd
solarizedl
3.1 应用主题(以 onedork 为例)
!jt -t onedork
单元格执行完毕后,刷新页面以查看。
3.2 恢复主题
若对 jupyter-themes 提供的主题都不满意,可以执行以下指令恢复默认主题:
!jt -r
4 个性化设置 - 图表 (Plot) 样式
图表样式的实现,是通过设置 matplotlib
的 rcParams
实现的,因此每次新建笔记本,都需要执行代码进行设置。
此处只介绍基础使用,进阶设置可以参考仓库介绍或函数描述。
4.1 设置为当前主题的样式
from jupyterthemes import jtplot
jtplot.style()
4.2 (可选)设置为特定主题的样式(以 “gruvboxl” 为例)
from jupyterthemes import jtplot
jtplot.style(theme="gruvboxl")
4.3 (可选)设置图表所处上下文(以 “notebook” 为例)
plot 的 context,即上下文是 seaborn
库中引入的属性,用于标识该图表所处的上下文,jupyter-themes 支持以下场景:
- 论文 - paper
- 笔记本 - notebook
- 讲座 - talk
- 海报 - poster
from jupyterthemes import jtplot
jtplot.style(context="notebook")
5 (可选)参考主题设置
5.1 主题样式
!jt -t onedork -f roboto -fs 11 -cursc o -cursw 3 -lineh 150
onedork 主题,roboto 字体,11px 字体大小,o (orange) 橘色光标,3px 光标宽度,150px 行高。
5.2 图表样式
from jupyterthemes import jtplot
jtplot.style(theme="gruvboxl", context="notebook")
读者可自行尝试,如有改进意见欢迎提醒。
6 注意
- jupyter-themes 由 dunovank 于 Github 维护。
- 若读者在使用笔记本过程中,出现按键“失灵、错乱”等问题,可能由于使用油猴脚本(Tampermonkey)“网页限制解除” 功能导致。注意在设置中排除 Notebook 页面。(若默认启动Jupyter Notebook,Tampermonkey 排除规则可设置为:“http://localhost*”)
Karl 2021/07/02