我想在浏览器中增加ipython笔记本的宽度。我有一个高分辨率的屏幕,我想扩大单元格的宽度/大小,以利用这个额外的空间。
谢谢!
编辑/回答:2017年5月
我现在使用jupyterthemes: https://github.com/dunovank/jupyter-themes
还有这命令:
jt -t oceans16 -f roboto -fs 12 -cellw 100%
这设置宽度为100%与一个漂亮的主题。
我想在浏览器中增加ipython笔记本的宽度。我有一个高分辨率的屏幕,我想扩大单元格的宽度/大小,以利用这个额外的空间。
谢谢!
编辑/回答:2017年5月
我现在使用jupyterthemes: https://github.com/dunovank/jupyter-themes
还有这命令:
jt -t oceans16 -f roboto -fs 12 -cellw 100%
这设置宽度为100%与一个漂亮的主题。
当前回答
您可以通过从任何单元格调用样式表来设置笔记本的CSS。举个例子,看看Navier Stokes课程的12步。
特别是,创建一个包含
<style>
div.cell{
width:100%;
margin-left:1%;
margin-right:auto;
}
</style>
应该能给你一个起点。然而,可能还需要调整例如div.text_cell_render来处理markdown以及代码单元格。
如果该文件是custom.css,则添加包含以下内容的单元格:
from IPython.core.display import HTML
def css_styling():
styles = open("custom.css", "r").read()
return HTML(styles)
css_styling()
这将应用所有样式,特别是改变单元格宽度。
其他回答
为了让它与jupyter(版本4.0.6)一起工作,我创建了~/.jupyter/custom/custom.css,其中包含:
/* Make the notebook cells take almost all available width */
.container {
width: 99% !important;
}
/* Prevent the edit cell highlight box from getting clipped;
* important so that it also works when cell is in edit mode*/
div.cell.selected {
border-left-width: 1px !important;
}
对于Chrome用户,我推荐Stylebot,它可以让你覆盖任何页面上的任何CSS,也可以让你搜索和安装其他共享自定义CSS。然而,出于我们的目的,我们不需要任何提前的主题。打开Stylebot,更改为编辑CSS。Jupyter捕获了一些击键,因此您将无法键入下面的代码。只需复制粘贴,或只需你的编辑器:
#notebook-container.container {
width: 90%;
}
改变宽度随你喜欢,我发现90%看起来比100%更好。但这完全取决于你的眼睛。
如果您不想更改默认设置,并且只想更改当前正在使用的笔记本电脑的宽度,可以在单元格中输入以下内容:
from IPython.display import display, HTML
display(HTML("<style>.container { width:100% !important; }</style>"))
(截至2018年,我建议尝试JupyterHub/JupyterLab。它使用显示器的全宽度。如果这不是一个选项,也许因为您正在使用基于云的Jupyter-as-a-service提供商之一,请继续阅读)
(时尚被指控窃取用户数据,我已经转向使用Stylus插件)
我建议使用时髦的浏览器插件。通过这种方式,您可以覆盖所有笔记本的css,而无需向笔记本添加任何代码。 我们不喜欢更改.ipython/profile_default中的配置,因为我们正在为整个团队运行一个共享的Jupyter服务器,宽度是用户首选项。
我专门为垂直方向的高分辨率屏幕制作了一种样式,使单元格更宽,并在底部添加了一些空白空间,这样你就可以将最后一个单元格置于屏幕的中心。 https://userstyles.org/styles/131230/jupyter-wide 当然,如果你有不同的布局,或者你不希望最后有额外的空白,你可以根据自己的喜好修改我的css。
最后但并非最不重要的是,在你的工具集中有一个很好的工具,因为你可以很容易地自定义其他网站/工具到你的喜好(例如Jira, Podio, Slack等)。
@media (min-width: 1140px) {
.container {
width: 1130px;
}
}
.end_space {
height: 800px;
}
这是我最终使用的代码。它将输入和输出单元格向左和向右拉伸。注意,输入/输出数字指示将消失:
from IPython.core.display import display, HTML
display(HTML("<style>.container { width:100% !important; }</style>"))
display(HTML("<style>.output_result { max-width:100% !important; }</style>"))
display(HTML("<style>.prompt { display:none !important; }</style>"))