Jupyter Notebook 导出 HTML 深色
Jupyter Notebook exported HTML dark color
我正在使用浅色主题的 JupyterLab,当我将笔记本导出为 HTML 时,我看到了这个:
我期待看到的是这样的:
对设置有什么想法吗?
我遇到了同样的问题。渲染的 html 不仅有深色背景,这使得 x 和 y 轴标签和刻度不可读(它们是黑色的),而且块之间的对齐方式也很奇怪。
虽然我不知道如何以编程方式解决它,但我确实找到了解决方法。
- 去官方jupyter lab online playground.
- 选择
Try Jupyter Lab
- 导出
Lorentz.ipynb
(或任何 .ipynb
文件)。你会发现这个 Lorentz.html
被正确渲染了。
- 将
Lorentz.html
的 body 和标题替换为 incorrectly-rendered html 文件 old_foo.html
的 body(本质上,我们是将 Lorentz.html
的样式用于 old_foo.html
的 body).
- 将
Lorentz.html
重命名为 new_foo.html
。打开new_foo.html
你会发现渲染正确
如果您 运行 比较 new_foo.html
和 old_foo.html
之间的差异,您会发现差异在于一大块样式代码。
我不确定这是我的配置错误还是 jupyter 实验室中的错误。
--
$ jupyter --version
jupyter core : 4.6.3
jupyter-notebook : 6.0.3
qtconsole : not installed
ipython : 7.14.0
ipykernel : 5.3.0
jupyter client : 6.1.3
jupyter lab : 2.1.3
nbconvert : 5.6.1
ipywidgets : not installed
nbformat : 5.0.6
traitlets : 4.3.3
Vanila HTML 从 jupyter 实验室导出:
用 jupyter lab 在线游乐场中的样式替换样式:
更新
此 hack 不再 适用于以下 jupyter
版本:
╰─$ jupyter --version
jupyter core : 4.6.3
jupyter-notebook : 6.1.4
qtconsole : not installed
ipython : 7.18.1
ipykernel : 5.3.4
jupyter client : 6.1.7
jupyter lab : 2.2.8
nbconvert : 6.0.6
ipywidgets : not installed
nbformat : 5.0.7
traitlets : 5.0.4
我遇到了完全相同的问题。经过几个小时的调试后,我意识到它必须(至少对我而言)与 jupyter-theme
库有关。我安装了深色主题,我认为 nbconverter
使用您的 jupyter
也在使用的任何设置,因此深色设置影响了 html 转换。
解决方案只是通过以下方式恢复默认值:
$ jt -r
如果还是不行,请参考这个帖子:https://github.com/dunovank/jupyter-themes/issues/86
从命令行 运行:
jupyter nbconvert --execute --to html /path/to/example.ipynb --HTMLExporter.theme=dark
添加 --execute
保证在保存之前渲染绘图。
你也可以使用 Plotly dark 主题让情节变黑
import plotly.io as pio
pio.templates.default = "plotly_dark"
我正在使用浅色主题的 JupyterLab,当我将笔记本导出为 HTML 时,我看到了这个:
我期待看到的是这样的:
对设置有什么想法吗?
我遇到了同样的问题。渲染的 html 不仅有深色背景,这使得 x 和 y 轴标签和刻度不可读(它们是黑色的),而且块之间的对齐方式也很奇怪。
虽然我不知道如何以编程方式解决它,但我确实找到了解决方法。
- 去官方jupyter lab online playground.
- 选择
Try Jupyter Lab
- 导出
Lorentz.ipynb
(或任何.ipynb
文件)。你会发现这个Lorentz.html
被正确渲染了。 - 将
Lorentz.html
的 body 和标题替换为 incorrectly-rendered html 文件old_foo.html
的 body(本质上,我们是将Lorentz.html
的样式用于old_foo.html
的 body). - 将
Lorentz.html
重命名为new_foo.html
。打开new_foo.html
你会发现渲染正确
如果您 运行 比较 new_foo.html
和 old_foo.html
之间的差异,您会发现差异在于一大块样式代码。
我不确定这是我的配置错误还是 jupyter 实验室中的错误。
--
$ jupyter --version
jupyter core : 4.6.3
jupyter-notebook : 6.0.3
qtconsole : not installed
ipython : 7.14.0
ipykernel : 5.3.0
jupyter client : 6.1.3
jupyter lab : 2.1.3
nbconvert : 5.6.1
ipywidgets : not installed
nbformat : 5.0.6
traitlets : 4.3.3
Vanila HTML 从 jupyter 实验室导出:
用 jupyter lab 在线游乐场中的样式替换样式:
更新
此 hack 不再 适用于以下 jupyter
版本:
╰─$ jupyter --version
jupyter core : 4.6.3
jupyter-notebook : 6.1.4
qtconsole : not installed
ipython : 7.18.1
ipykernel : 5.3.4
jupyter client : 6.1.7
jupyter lab : 2.2.8
nbconvert : 6.0.6
ipywidgets : not installed
nbformat : 5.0.7
traitlets : 5.0.4
我遇到了完全相同的问题。经过几个小时的调试后,我意识到它必须(至少对我而言)与 jupyter-theme
库有关。我安装了深色主题,我认为 nbconverter
使用您的 jupyter
也在使用的任何设置,因此深色设置影响了 html 转换。
解决方案只是通过以下方式恢复默认值:
$ jt -r
如果还是不行,请参考这个帖子:https://github.com/dunovank/jupyter-themes/issues/86
从命令行 运行:
jupyter nbconvert --execute --to html /path/to/example.ipynb --HTMLExporter.theme=dark
添加 --execute
保证在保存之前渲染绘图。
你也可以使用 Plotly dark 主题让情节变黑
import plotly.io as pio
pio.templates.default = "plotly_dark"