一文学会设置 Jupyter 主题与目录

2021-07-27 15:46:58 浏览数 (1)

来源/数据STUDIO 作者/云朵君

前两天因为某些原因,云朵君重装系统了,发现以前的一些设置都没有了,因为一些习惯,还是想恢复下以前的一些设置,如设置Jupyter notebook 的主题,设置他的目录插件等。把设置的过程写出一个教程,供大家参考。

Jupyter notebook等简单介绍

做数据科学的小伙伴们对Jupyter notebook一点都不陌生,下载安装anaconda后就可以直接使用了。

下面是官方的一些介绍,参考Jupyter notebook官方文档[1]

Jupyter notebook将基于控制台的方法扩展到了一个全新的方向,提供了一个基于 Web 的应用程序,适用于捕获整个计算过程:开发、记录和执行代码,以及交流结果。Jupyter notebook结合了两个组件:

Web 应用程序:一种基于浏览器的工具,用于交互式创作文档,这些文档结合了解释性文本、数学、计算及其丰富的媒体输出。

Notebook 文档:Web 应用程序中所有可见内容的表示,包括计算的输入和输出、解释性文本、数学、图像和对象的富媒体表示。

Web应用程序的主要功能

  • 代码的浏览器内编辑,具有自动语法突出显示、缩进和制表符完成/内省。
  • 从浏览器执行代码的能力,将计算结果附加到生成它们的代码。
  • 使用富媒体表示(例如 HTML、LaTeX、PNG、SVG 等)显示计算结果。例如,可以内联包含由matplotlib库呈现的出版物质量的图形。
  • 使用Markdown标记语言在浏览器中编辑富文本,可以为代码提供注释,不限于纯文本。
  • 能够使用 LaTeX 在 Markdown 单元格中轻松包含数学符号,并由MathJax本地呈现。

打开Jupyter notebook时出现如下图所示:

这是官方默认的主题,说到主题,大家都希望定制适合自己的主题,个性化嘛。如果我们想要自己定制主题,怎么办呢?

下面介绍Jupyter-themes修改Jupyter notebook主题的方法。

参考Github地址[2]

环境准备

  • Python 3.4、3.5、3.6、3.7
  • Jupyter(推荐Anaconda[3]
  • matplotlib
使用 pip 安装
代码语言:javascript复制
# 安装 jupyterthemes
# pip install -i https://pypi.douban.com/simple/ jupyterthemes
pip install jupyterthemes

#升级到最新版本
pip install --upgrade jupyterthemes

命令行设置主题

在终端(mac),anaconda prompt(win)中输入下面

代码语言:javascript复制
#  列出可用的主题
>>> jt -l
Available Themes: 
   chesterish
   grade3
   gruvboxd
   gruvboxl
   monokai
   oceans16
   onedork
   solarizedd
   solarizedl
# 选择主题...
>>> jt -t chesterish

直接刷新notebook web应用程序即可,如果不起作用,请尝试启动新的Jupyter notebook

如果不喜欢,可以继续更换。

代码语言:javascript复制
>>> jt -t chesterish

如果还不喜欢,可以继续尝试...不用担心,可以恢复默认主题:

代码语言:javascript复制
# 注意:运行 jt -r 后需要删除浏览器缓存
>>> jt -r

打开工具栏和打开notebook名称,下图中红色框部分。

代码语言:javascript复制
>>> jt -t grade3 -T -N

除了设置"模板"主题,还可以自定义,设置代码字体/大小、notebook界面字体/大小、单元格宽度和行高等等。

可以设置 markdown(文本单元格)和notebook(界面)的字体/字体大小。

调整单元格宽度(% 屏幕宽度)和行高。

代码语言:javascript复制
>>> jt -t chesterish -cellw 90% -lineh 170
代码语言:javascript复制
>>> jt -t chesterish -cellw 60% -lineh 170
# 或通过去掉“%”符号来设置单元格宽度(以像素为单位)
# >>> jt -t solarizedl -cellw 860

其他的一些设置。

代码语言:javascript复制
# 将代码字体设置为 'Roboto Mono' 12pt 
#(参见下面的等宽字体表)
>>> jt -t onedork -f roboto -fs 12

# 设置代码字体为 Fira Mono, 11.5pt 
# 3digit font-sizes 转换为 float (115-->11.5) 
# 2digit font-sizes > 25 转换为 float (85-->8.5)
>>> jt -t solarizedd -f fira -fs 115

# 设置 markdown(文本单元格)和notebook(界面)的字体/字体大小
# 请参阅下面的 sans-serif 和 serif 字体表
>>> jt -t oceans16 -tf merriserif -tfs 10 -nf ptsans -nfs 13

# 修复介绍页面上的容器边距(默认为“自动”)
>>> jt -t monokai -m 200

# 调整光标宽度(以像素为单位)并使光标变为红色
# 选项:b(蓝色)、o(橙色)、r(红色)、p(紫色)、g(绿色)、x(字体颜色)
>>> jt -t Oceans16 -cursc r -cursw 5

# 选择替代提示布局(更窄/没有数字)
>>> jt -t Grade3 -altp

notebook设置绘图样式

jtplot.style()对 matplotlib 的 rcParams 字典进行更改。

jtplot.style()设置配色方案各种图形属性(spines, grid, font scale, etc) 以及绘图 "context"

这些命令不需要在每次生成新绘图时重新运行,只需在笔记本开头或之后需要更改样式时重新运行一次。

代码语言:javascript复制
# import jtplot module in notebook
from jupyterthemes import jtplot

# 从下主题中选择以继承绘图风格的主题
# onedork | grade3 | oceans16 | chesterish | monokai | solarizedl | solarizedd
jtplot.style(theme='onedork')

以各地打工人工资表为例。

缩放刻度标签、图例等的字体大小。从 x 和 y 轴移除脊椎并使网格虚线:

打开 X 轴和 Y 轴刻度线(默认 = False),关闭轴网格线(默认 = True),并设置默认图形大小。

上面已经将主题部分介绍完毕了,大家可以动手试试。设置自己喜欢的主题吧。

Jupiter notebook安装目录

下面开始介绍目录的安装。一个notebook怎能没有目录?其安装目录也比较简单。但还是有不少小伙伴会经常猜坑,下面一起看看目录的正确打开方式吧。

首先安装目录插件。

可以在Jupiter notebook里运行,也可在终端运行如下代码:

代码语言:javascript复制
pip install jupyter_contrib_nbextensions -i https://pypi.douban.com/simple

若在Jupiter notebook里运行安装后,需要关闭Jupiter notebook,在终端运行。

代码语言:javascript复制
jupyter contrib nbextension install --user --skip-running-check

注意配置的时候要确保没有打开 Jupyter Notebook 。

启动 Jupyter Notebook,开启目录。

上面两个步骤都没报错后,启动 Jupyter Notebook,上面选项栏会出现 Nbextensions 的选项。

点开 Nbextensions 的选项,并勾选 Table of Contents

打开一个 .ipnb 文件,工具栏就会出现目录选项,点击就会生成目录。

OK,小伙伴们都学会了没,可以动手试试。

参考资料

[1]

Jupyter notebook官方文档: https://jupyter-notebook.readthedocs.io/en/latest/notebook.html

[2]

Github地址: https://github.com/dunovank/jupyter-themes

[3]

Anaconda: https://www.continuum.io/downloads

——END——

0 人点赞