Jupyterでダイナミックでコンテンツ豊かなプレゼンテーションをつくってください


Jupyterデータ解析のための効果的なツールかどうかを古典的なノートブック、研究室、またはVSコードのような人気のテキストエディタでノートブックです.あなたは分析を行うが、それはあなたの結果を提示すると、ほとんどの時間は、生態系から移動する必要があります.現在、多くのツールが非技術的な人々にVoilaを含むコードセルを表示せずに分析を提示する、スライドを明らかにこれらのツールのいずれかの静的なHTMLまたはプレーンセル出力のスライドを提示するので、コンテンツに細かい穀物のコントロールを持っていない.すべての困難に直面して、私はノートブックを離れることなくプレゼンテーションを作成するためのiPythonの豊富なコンテンツ機能を活用することを決めた.結果パッケージipyslides アクティブな開発にあり、ほとんどのイントロなしでウィジェット、オーディオ、ビデオ、HTMLなどからコンテンツのあらゆる種類を使用することができます.

インストール


最も適した環境はJupyterLabですので、インストールした後に
pip install ipyslides

用途


スライドを作成するには複数の方法がありますが、より少ない努力でセル内のコードを塗りつぶすショートカット方法があります.次のようなプレゼンテーションを作成できます.
import ipyslides as isd 
isd.initilize()
上記のセルを実行すると、同じセル内のコードをプッシュします
たくさんのコードがセルにありますが、いくつかの行が表示されます.
from ipyslides import load_magics, convert2slides, write_title
from ipyslides.utils import write, plt2html, print_context, slide

# Command below registers all the ipyslides magics that are used in this file
load_magics()
# Set this to True for Slides output
convert2slides(False) #Set this to True for Slides output
write_title("# Title Markdown")
上記のセルを実行した後、あなたのスライドの環境はほぼ設定されます.通常のPythonコードで1つの余分な行でセルのスライドを構築することができます.
%%slide 1
write('# Slide Title')
write('## Column 1',"## Column 2")
両方%%slide and with side IPythonのキャプチャメカニズムに結果を保存します.また、ヘルパー関数でdymanicスライドを追加できる別の方法があります.
isd.insert_after(1, 1,2,3,func=lambda x: write(f'## Dynamic Slide ${x}^2 = {x**2}$'))
これはスライド1の後に3つのスライドを作成します.
では、コンテキストマネージャを使ってシングルセルから複数のスライドを作成しましょう.
import matplotlib.pyplot as plt, numpy as np
for i in range(5):
    with slide(i+5):
        x = np.linspace(0,i+1,50+10*i)
        _ = plt.plot(x,np.sin(x))
        write(plt2html(),f'#### Slide {i+5} but I am {i+1} of 5 other slides created from single cell\n{isd.get_cell_code()}')

ビルドスライド


あなたは手数料のスライドをした後、コマンドを実行することができますisd.build() これは、あなたをオンにする通知されますconvert2slides(True) 最初のセルで、それを行うと、セルを実行すると、コードが設定されますisd.build コマンド.
# Only this cell should show output. For JupyterLab >=3, pip install sidecar for fullscreen access
# You can also double click on output and select `Create New View for Output` that will let you enable fullscreen.
# ------ Slides End Here -------- 
from ipyslides.core import  LiveSlides 
ls = LiveSlides()
ls.set_footer('<span style="color:green">Author: Abdul Saboor')
ls.show()
この最後のセルはスライドを生成します、すべてのスライドはこのセルの上になければなりません.今すぐJupyTerLabにいる場合は、使用することができますcreate new view for output フォームメニューまたはsidecar インストール、プレゼンテーションが自動的にそこから左の設定パネルからフルスクリーンにすることができますからポップアップ表示されます.


あなたはwrite コマンドを使用してマークダウン、HTML、プロットを書くplt2html and plotly2html . 他のプロットライブラリに拡張することができますか、単にネイティブコマンドを使用することができますplt.show , fig.show など
あなたのスライドの見せかけの例を見ることができますKaggle and Binder ここでYouTubeのビデオ、テーブル、グラフ、ウィジェットのような豊富なコンテンツを埋め込む.