如何使Jupyter笔记本单元格中的大图形在输出为html时可滚动

2022-03-08 00:00:00 jupyter jupyter-notebook figure html

如您所知,当您在Jupyter笔记本单元格中打印大表格时,无论表格是在笔记本环境中打印还是保存为html文件,如果表格太大,都会自动使其可水平或垂直滚动。

但是对于该图来说,当它太大时,它会变成一个大表格,但只有在Notebook环境中打印时才可以滚动。将其保存为html文件时,整个图形将适合较小的区域,因此读取轴标签非常困难。

如何执行此操作?

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

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


解决方案

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

在代码单元格中注入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) 

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

自定义样式表

如果希望在全局级别修改样式,可以将自定义样式放在jupyter config dir的custom/custom.css文件中(该文件可能还不存在)。 若要确定配置文件夹在安装中的位置,请运行此

import jupyter_core;jupyter_core.paths.jupyter_config_dir()

这在飞翔上无法切换。

自定义nbConvert模板

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

相关文章