如何在nbconvert之后将matplotlib图形的位置居中?

时间:2017-01-05 12:36:08

标签: python jupyter reveal.js nbconvert

我想使用nbconvert将我的jupyter笔记本转换为演示文稿。是否可以将matplotlib图定位在幻灯片的中心?

在jupyter中,我阻止我的代码显示,然后制作一个情节。

(RawNBConvert)

<style type="text/css">
.input_prompt, .input_area, .output_prompt {
    display:none !important;
}
</style>

(蟒)

%matplotlib inline
import matplotlib.pyplot as plt

plt.plot([1,2,3]);

然后,使用以下命令将此笔记本转换为html:

jupyter nbconvert mynote.ipynb --to slides

生成的html呈现如下。 enter image description here

我一直试图将这个情节放在我的幻灯片中。我查看了reveal.css文件,但无法确定要更改的部分。有谁知道我怎么解决这个问题?

我使用jupyter 1.0.0和nbconvert 4.2.0。

2 个答案:

答案 0 :(得分:0)

可能有更好的解决方案,但在RawNBConvert单元格中添加几行修复了这个问题。我希望这不会产生任何副作用。

<style type="text/css">
.input_prompt, .input_area, .output_prompt {
    display:none !important;
}

div.output_png {
  display: flex;
  justify-content: center;
}

</style>

enter image description here

答案 1 :(得分:0)

只是为了向Taro的解决方案添加细节:

可以通过以下方式创建“ RawNBConvert”单元格

  1. 要查看->单元格工具栏->原始单元格格式
  2. 创建类型为“原始NBConvert”(“单元格->单元格类型”)的新单元格
  3. 将“原始NBConvert格式”设置为HTML

此解决方案的样式代码可以添加到新创建的单元格中。 NBConvert应该会自动将其拾取。

请注意,发布的解决方案会禁用输入区域的显示(即,用于生成图像的脚本以及幻灯片中的任何脚本)。这类似于将笔记本电脑转换为幻灯片时设置-no-input选项。

最后,实际上对我有用的是使用此功能(您可能需要调整一些参数):

<style type="text/css">
.input_prompt, .input_area, .output_prompt {
    display:none !important;
}

div.output_png {
    max-width: 100%;
    width: 100%;
}

div.output_png img {
   width: 80%;
   margin-left: auto;
   margin-right: auto;
   display: block;
}

</style>

希望这会有所帮助