笔记本中的中心输出(图)

Rut*_*ies 11 css ipython jupyter-notebook

我刚升级到IPython 1.0,新的笔记本界面表现非常好.在我的屏幕上,它现在的默认宽度约为页面的50%,从而提高了可读性.但是,我经常使用长时间系列,我更喜欢尽可能宽地显示.

非常宽的图片只会向右延伸.有没有办法显示输出更宽,然后默认扩展中心事项?

附图显示了第一个单元格中的正常内联图,它比默认笔记本宽度宽.第二个图更宽,向右扩展.这使我的屏幕左侧四分之一未使用.

在此输入图像描述

Too*_*ppe 9

我所做的是以下内容.这可能有所帮助,但它也创造了一个精美的笔记本.

看看这本关于贝叶斯统计的在线书籍.这真的很好.

他们使用以下代码在笔记本的末尾加载自定义CSS:

from IPython.core.display import HTML
def css_styling():
    styles = open("custom.css", "r").read() #or edit path to custom.css
    return HTML(styles)
css_styling()
Run Code Online (Sandbox Code Playgroud)

您可以从书本github上回购该自定义CSS 的位置:在笔记本电脑的文件夹取出,并拨打上面的代码

还要注意他们漂亮的matplotlibrc文件.您可以更改调用此代码的图的外观.在笔记本电脑的早期调用它,所有的matplotlib图看起来都很酷.

    import json
    s = json.load( open("bmh_matplotlibrc.json") )  #edit path to json file
    matplotlib.rcParams.update(s)
Run Code Online (Sandbox Code Playgroud)

从GITHUB下载JSON文件


ece*_*ulm 7

简而言之,您有两种选择.两者都将CSS样式添加到笔记本中以实现效果:

  1. Global Jupyter CSS(影响所有笔记本)编辑或创建~/.jupyter/custom/custom.css和添加:
    .output_png {
        display: table-cell;
        text-align: center;
        vertical-align: middle;
    }
    
  2. 通过执行以下代码单元修改当前笔记本的样式:

    from IPython.core.display import HTML
    HTML("""
    <style>
    .output_png {
        display: table-cell;
        text-align: right;
        vertical-align: middle;
    }
    </style>
    """)
    
    Run Code Online (Sandbox Code Playgroud)

请注意,在第一种情况下没有<style></style>.

我更喜欢第二种选择,特别是如果我要分享笔记本(因为它是独立的).

  • 我使用最新版本的“jupyter”(4.4.0)尝试了第二个选项,但没有任何改变,绘图仍然是左对齐而不是居中。这个解决方案仍然有效吗? (7认同)

oxt*_*tay 6

@tooblippe给出的答案虽然更改了笔记本的样式,但并未解决该问题。但是,使用该解决方案的第一部分,您将能够实现图形的居中。此解决方案适用于ipython==3.1.0。对于包含Jupyter的更高版本,您将需要编辑的样式Jupyter

因此,解决方案将是:您可以修改上面的css文件,或将此行添加到ipython文件夹中ipython环境的样式中:

    .output_png {
        display: table-cell;
        text-align: center;
        vertical-align: middle;
    }
Run Code Online (Sandbox Code Playgroud)