1. Plotlyからのインタラクティブグラフのエクスポート
ビジュアライゼーションが好きな皆さん、データグラフのアーティストたち、今日はこちらのデータビジュアライゼーション最終講義に辿り着いたことをお祝いします!今日は美しくて情報に富んだグラフの作成を締めくくり、それらを正しくエクスポートしてドキュメントに統合する方法を学びます。これまで、上司を感心させる方法のひとつとして、完璧な分析だけでなく、PowerPointやHTMLページにも使えるグラフを作れる方法が気になるなら、今日がラッキーデイです!
Plotlyの主なエクスポートフォーマット
Plotlyは以下のエクスポートフォーマットをサポートします:
- HTML — ブラウザで開けるインタラクティブなグラフを作成するため。
- PNG, JPG, PDF, SVG — 高品質の静的イメージを作成するため。
- JSON — グラフをJSON形式で保存し、システム間でのデータ転送に便利。
エクスポートの方法
まず星のPlotlyから始めます。このライブラリはインタラクティブ性と動的グラフ作成機能で有名です。でも、PythonがインストールされたノートPCを渡さずに、これをどのようにシェアするのでしょう?
PlotlyではHTML形式でグラフをエクスポートできます。これにより、HTMLファイルを送信するだけで、同僚やクライアントはブラウザで直接グラフとやり取りが可能になります。エクスポートはplotly.io.write_htmlメソッドを使って行います。例えば:
import plotly.express as px
import plotly.io as pio
# シンプルなインタラクティブグラフを作成
df = px.data.iris() # irisesデータセット
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
# グラフをHTMLにエクスポート
pio.write_html(fig, file='grafik.html', auto_open=True)
パラメータauto_open=Trueは、保存後にすぐにブラウザでファイルを開くことができます。仕事をすぐに同僚に見せたかったり、ちゃんと保存されたか確認したい場合にとても便利です。
その他のフォーマットでのエクスポート
Plotlyでは、PNGやJPEG、SVGなどのイメージフォーマットにもエクスポート可能です。このためにはkaleidoという画像レンダリングを提供する追加のライブラリが必要です:
pip install -U kaleido
では、グラフをエクスポートしてみましょう:
# PNG形式でグラフをエクスポート
pio.write_image(fig, file='grafik.png')
# JPG形式でグラフをエクスポート
pio.write_image(fig, file='grafik.jpg', width=800, height=400, scale=2)
2. レポートへのグラフの組み込み
エクスポートされたグラフはあなたの分析レポートの重要な部分になる可能性があります。たとえば、 HTML形式でエクスポートされた グラフをウェビナーや社内ポータル用の レポートに簡単に挿入することが可能です。
WordやPDFドキュメントへのグラフの挿入
Microsoft WordやPDF文書にグラフを統合するには、グラフをPNG形式またはJPG形式で保存して、 イメージとして挿入するだけです。ファイルを文書内にドラッグ&ドロップの方法や文書編集ソフトの埋め込み機能を使うと簡単にできます。
fig.write_image("sales_chart.pdf")
PDF形式は印刷やグラフの高品質な配信に適しています。PlotlyでのPDFエクスポートには、kaleidoを使用してフォーマットを指定するだけです。
インタラクティブグラフをWebドキュメントに統合
HTML形式のPlotlyインタラクティブグラフはWebページに埋め込むことができます。これは、オンラインレポートやWebベースのドキュメントに便利です。グラフを埋め込むには、HTMLファイルへのリンクを使用するか、HTMLコードを直接Webページに埋め込むことができます。
インタラクティブグラフの埋め込みにはiframeを使用することができます:
<iframe src="grafik.html" width="800" height="600"></iframe>
これにより、グラフはページに埋め込まれ、操作可能になります。
グラフをJSON形式でエクスポート
JSON形式は、データとしてのグラフ保存やシステム間の転送に適しています。JSONファイルは後にPlotlyにインポートして表示することが可能です。
# グラフをJSON形式で保存
fig.write_json("sales_chart.json")
レポートの種類に応じたフォーマットとパラメータの選択
- 印刷や出版用: 高解像度(
dpi=300)のPNGまたはPDF形式を使用して、鮮明で高品質な画像を維持。 - Webドキュメントやプレゼン用: WebドキュメントにはPNGやSVG形式が最適。 SVGは拡大しても品質が失われません。
- インタラクティブレポート用: PlotlyのインタラクティブグラフをHTML形式で保存し、Webページやオンラインドキュメントに埋め込み。
3. 例
では、知識を確認するためにインタラクティブグラフを作成し、それをエクスポートして、シンプルなHTMLドキュメントに統合してみましょう。
グラフの作成:
import plotly.express as px
import plotly.io as pio
df = px.data.tips()
fig = px.bar(df, x='day', y='total_bill', color='sex', barmode='group')
pio.write_html(fig, file='tips_graph.html', auto_open=True)
HTMLドキュメントへのグラフの統合:
以下のコードをindex.htmlとして保存します:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>チップレポート</title>
</head>
<body>
<h1>曜日別チップ分析</h1>
<p>以下は、曜日と性別に基づく合計チップを示すインタラクティブグラフです。</p>
<iframe src="tips_graph.html" width="900" height="500" frameBorder="0"></iframe>
</body>
</html>
ドキュメントの表示:
index.htmlをブラウザで開いて結果を楽しんでください!あなたはレポートを作成し、それを同僚に送ったりインターネットで公開するだけ安全簡単です。
インタラクティブグラフは美しいだけでなく、データ分析を深く行い、結果を確実に伝えるための便利なツールです。これを使えば、レポートがより印象的で多機能になります。
PlotlyとMatplotlibを用いた学習の締めくくりとして、正しい情報のプレゼンテーションはほぼアートのようなものだということを伝えたいです。ぜひ、学んだ知識を使って、あなたのデータを驚くほど魅力的で役立つ形に仕上げてください。頑張ってビジュアライゼーションの傑作を作ってくださいね!
GO TO FULL VERSION