如何在Jupyter笔记本单元格中制作一个大图,在输出到html时可滚动

Roy*_*lue 7 html figure jupyter jupyter-notebook

如您所知,当您在Jupyter Notebook单元格中打印一个大表时,无论表格是在Notebook环境中打印还是保存到html文件,当它太大时,它都会自动水平或垂直滚动​​.

但是对于图来说,当它太大时,它可以作为一个大表滚动,但只有当它在Notebook环境中打印时才可以滚动.当它保存到html文件时,整个图形适合较小的区域,因此使读取轴标记非常困难.

我怎样才能做到这一点?

例如,在Notebook中,如果单击图形的左下边框,则会在右侧和底部获得滚动条.

在此输入图像描述

但是当输出到html文件时,整个图形被填充到"画布"中,如下所示:

在此输入图像描述

hei*_*ich 7

您可以通过三个选项来修改笔记本的样式。

在代码单元格中注入 CSS

如果您只想修改单个笔记本的行为,您可以注入一些 CSS 以在代码中自定义您的样式。

from IPython.core.display import HTML
style = """
<style>
div.output_area {
    overflow-y: scroll;
}
div.output_area img {
    max-width: unset;
}
</style>
"""
HTML(style) 
Run Code Online (Sandbox Code Playgroud)

要禁用您的修改,您只需要清除该单元格的输出。

自定义样式表

如果要在全局级别修改样式,可以将自定义样式放在custom/custom.cssjupyter 配置目录中的文件中(该文件可能尚不存在)。要确定 config 文件夹在安装中的位置,请运行以下命令

import jupyter_core;jupyter_core.paths.jupyter_config_dir()
Run Code Online (Sandbox Code Playgroud)

这不能即时切换。

自定义 nbconvert 模板

最后,如果您只想设置 HTML 导出输出的样式,请查看自定义模板部分中的nbconvert 文档。这种方法可能是设置导出样式的最强大选项,但它只会影响导出的版本,而不是您的实时笔记本。