エクスポートと埋め込み
Figureを保存して共有します
「エクスポートと埋め込み」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
成果物の共有
完成したチャートも、他の人が見られなければ役に立ちません。PlotlyのFigureはインタラクティブなHTMLとして保存したり、静的画像として書き出したり、Webページやレポートに埋め込んだりできます。
適切な形式は、見る人がインタラクティブ性を必要とするかどうかによって決まります。
インタラクティブなHTMLの保存
fig.write_html('chart.html')を使うと、すべてのインタラクティブ機能を保持したスタンドアロンファイルが作成されます。Pythonがなくても、任意のブラウザで開けばズーム、ホバー、パンを利用できます。
操作しながら調べられるライブチャートを共有するには、これが最適な形式です。
ファイル名の選択
大量の書き出しを行う場合は、命名が重要です。タイムスタンプを付けてスラッグ化した名前にすると、名前の衝突を避けられます。これは通常の文字列処理です。
title = 'Q3 Sales Report!'
slug = ''.join(ch.lower() if ch.isalnum() else '_' for ch in title)
slug = '_'.join(p for p in slug.split('_') if p)
print(slug + '.html')静的画像の書き出し
PDF、スライド、メールには静的画像が必要です。fig.write_image('chart.png')を使うと、PNG、JPEG、SVG、PDFを生成できます。これにはkaleidoエンジンのインストールが必要です。
静的画像はインタラクティブ性を失いますが、どこにでも埋め込めます。
形式の選択
用途に合わせて形式を選びます。
- HTML インタラクティブな探索、Webページ
- PNG/JPEG ラスター画像、スライドやメールに適している
- SVG ベクター画像、印刷時にぼけずに拡大縮小できる
- PDF 文書
簡単な判断表を作ると、すぐに形式を選べます。
use_case = 'print'
format_map = {'web': 'html', 'slides': 'png', 'print': 'svg', 'document': 'pdf'}
print('Best format for', use_case, '->', format_map[use_case])ページへの埋め込み
完全なHTMLファイルを使わずに既存のサイトへ埋め込むには、fig.to_html(full_html=False, include_plotlyjs='cdn')を使います。チャートのHTML断片だけが返されるので、テンプレートに貼り付けます。
plotly.jsをCDNから読み込むと、ページを軽量に保てます。
ライブラリの読み込み
インタラクティブなHTMLにはplotly.jsライブラリが必要です。include_plotlyjsには次の選択肢があります。
Trueライブラリをバンドルする(大きくなりますが、オフラインで動作します)'cdn'CDNへのリンクを使う(小さくなりますが、インターネット接続が必要です)Falseページですでに読み込まれているものとする
オフラインでの利用要件とページ容量に応じて選択してください。
書き出し解像度
静的画像のサイズと鮮明さは、width、height、scaleで調整できます。scale=2にするとピクセル密度が2倍になり、高解像度の画面でも鮮明な画像になります。
width, height, scale = 800, 600, 2
print('Output pixels:', width * scale, 'x', height * scale)JSONによる往復
Figureはfig.to_json()でシリアライズし、plotly.io.from_json()で再構築できます。Figureをキャッシュしたり、サーバーとブラウザの間で送信したりする場合に便利です。
JSONにはデータとレイアウトが完全に記述されます。
再現性
書き出したものを共有するときは、それを生成したスクリプトも保存しておいてください。PNGは再編集できませんが、コードがあれば新しいデータでチャートを再生成できます。画像ではなくコードを信頼できる唯一の情報源として扱ってください。
ノートブックと Markdown への埋め込み
Jupyter では、セルの最後の式が figure であれば、自動的にセル内に表示されます。静的なドキュメントの場合は、画像として書き出して Markdown から参照します。ライブドキュメントの場合は、代わりに HTML フラグメントを埋め込みます。
読者が操作しながら確認できると便利な場合はインタラクティブな HTML を、見るだけで十分な場合は静的な画像を選びます。
クイックチェック
書き出しに関する知識を確認しましょう。
まとめ
figure の共有方法を学びました。
- インタラクティブなスタンドアロンファイルには
write_html - PNG、SVG、PDF には
write_image(kaleido と併用) - フラグメントの埋め込みには
to_html(full_html=False)を使い、include_plotlyjsでライブラリを制御する - 高解像度の画像には
scaleを使い、再現性のためにソースコードを保持する
よくある質問
「エクスポートと埋め込み」レッスンは無料ですか?
はい。「エクスポートと埋め込み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「エクスポートと埋め込み」で何を学びますか?
Figureを保存して共有します ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「エクスポートと埋め込み」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Plotly Expressの基礎
- インタラクティブ機能
- ダッシュボードの概念
- エクスポートと埋め込み