1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PlotlyでグラフをHTMLで保存・共有する:インタラクティブ3Dをそのまま配る方法

Posted at

はじめに

image.png

Plotlyで作った3Dグラフは、画像として保存するよりHTMLとして出力すると魅力が倍増します。回転・ズーム・ツールチップなどのインタラクションをそのまま保ったまま、誰にでも共有できます。今回は、その手順と注意点を整理します。

目的

  • Plotlyで作成した3DグラフをHTMLファイルとして保存する方法を学ぶ
  • ブラウザでそのまま動くインタラクティブ可視化を共有できるようにする
  • Colabでも確実に動作する最小構成を理解する

実装例

import plotly.graph_objects as go
import numpy as np

# サンプルデータ
x = np.linspace(-2, 2, 50)
y = np.linspace(-2, 2, 50)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 3Dグラフ作成
fig = go.Figure(data=[go.Surface(x=X, y=Y, z=Z, colorscale='Viridis')])
fig.update_layout(title='3D Surface Example', scene=dict(aspectmode='data'))
fig.show()

image.png

まずはColab上で3Dグラフを描画。この状態から「HTML保存」に発展させます。

HTMLとして保存する

fig.write_html("plot3d_example.html")

plot3d_example.htmlが生成され、Colab左側のファイル一覧に保存されます。右クリックからダウンロードでローカルに取得可能です。

image.png

HTMLファイルを開く

保存したファイルをダブルクリックすると、ブラウザでインタラクティブに回転・ズームが可能なグラフが開きます。HTML内にJavaScript (Plotly.js)が埋め込まれているため、他の人に送ってもそのまま動作します。

image.png

HTML出力のオプション

fig.write_html(
    "plot3d_example.html",
    include_plotlyjs='cdn',   # CDN参照(軽量)
    full_html=True,           # 完全なHTMLとして出力
    auto_open=False           # 自動で開かない
)
引数 説明
include_plotlyjs='cdn' JavaScriptをCDN経由にして軽量化(推奨)
full_html=False HTML断片として出力(Web埋め込み用)
auto_open=True 書き出し後にブラウザ自動起動(ローカル環境向け)

HTML埋め込み(Web用)

Web記事などに貼り付けたい場合は、Plotlyを断片として書き出します。

fig.write_html("fragment.html", full_html=False, include_plotlyjs='cdn')

その後、HTMLの本文に次のように埋め込みます。

<div>
  <!-- グラフ埋め込み -->
  <iframe src="fragment.html" width="800" height="600"></iframe>
</div>

ただし、埋め込み可否は利用する環境によって異なります。
上記はあくまで一例のため、実際の運用環境に応じて動作をご確認ください。

まとめ

image.png

fig.write_html()で保存すれば、ブラウザで開くだけでそのまま動くグラフとして利用できます。
include_plotlyjs や full_html などのオプションで出力形式も調整可能です。
メール添付、Drive共有、iframe埋め込みなど配布方法も幅広く、2D・3DどちらのPlotlyグラフにも対応しています。
インタラクティブ性を失わずに共有できるのが大きな利点で、プレゼンや資料作成にもそのまま使えます。

参考情報

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?