Размещение больших слайдов в презентации Jupyter - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть блокнот Jupyter, который я конвертирую в слайд-шоу, используя:

jupyter nbconvert notebook.ipynb --to slides --post serve --SlidesExporter.reveal_scroll=True

Некоторые слайды содержат сегмент кода с рисунком в качестве вывода. На данный момент фигура убегает из нижней части экрана. Так как это основная цель слайда, есть ли способ включить прокрутку (я думал, что --SlidesExporter.reveal_scroll=True должен сделать это, но в моем случае это не работает - полоса прокрутки не появляется). Или есть способ разделить ввод и вывод на два слайда или скрыть код ввода и просто показать выходной рисунок.

Ниже приведен пример слишком длинной ячейки кода:

import numpy as np
import matplotlib.pyplot as plt
t=np.linspace(0,1,1000)
Sr=np.exp(1j*t*(15)*2*np.pi)* np.exp(-5 *t)
#Trial wavefunctions
#Frequency (Hz)
f=[5,10,15,20]

y=np.cos(f[0]*2*np.pi*t)

#Multiply the signal with our trial cosine function

S_cos = np.real(Sr)*y

#Integrate the signal (using Simpson's rule for numerical integration)
from scipy.integrate import simps
area=np.empty([4,])
area[0] = simps(S_cos,dx=1)
print('Area under product function = %.1f' %area[0])

#Plot the real part of the signal
plt.figure(figsize=(14,6))
plt.subplot(1,2,1)
plt.plot(t,np.real(Sr),label='Signal')
plt.plot(t,y,label='Trial cosine')
plt.xlabel('Time (s)')
plt.ylabel('Intensity')
plt.legend()

plt.subplot(1,2,2)
plt.plot(t,S_cos, 'g', label='Product (signal*trial cosine)')
plt.xlabel('Time (s)')
plt.ylabel('Intensity')
plt.legend()
plt.show() 

1 Ответ

0 голосов
/ 28 декабря 2018

Один из участников nbconvert создал шаблон, который может скрыть входной код от слайдов.

Сохраните приведенный ниже код как output_toggle.tpl и поместите его в папку с вашим файлом .ipynb. Когда вы будете готовы, просто запустите: jupyter nbconvert notebook.ipynb --to slides --post serve --template output_toggle

{# Jupyter Notebook Toggle Template for Slides by Damian Avila 
   from http://www.damian.oquanta.info/posts/hide-the-input-cells-from-your-ipython-slides.html
#}

{%- extends 'slides_reveal.tpl' -%}

{% block input_group -%}
<div class="input_hidden">
{{ super() }}
</div>
{% endblock input_group %}

{%- block header -%}
{{ super() }}

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<style type="text/css">
.input_hidden {
  display: none;
//  margin-top: 5px;
}
</style>

<script>
$(document).ready(function(){
  $(".output_wrapper").click(function(){
      $(this).prev('.input_hidden').slideToggle();
  });
})
</script>
{%- endblock header -%}

Если вам нужно отобразить код во время представления, вы можете щелкнуть по выводу, чтобы открыть ячейки ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...