
PlotlyはカナダのモントリオールでAlex Johnson氏らが2012年に創業した可視化スタートアップ、Plotly Technologies社が中心となって開発するインタラクティブ可視化ライブラリ群の総称です。JavaScript製のplotly.jsを核に、Python(plotly.py)、R、Juliaなど多言語のバインディングを提供し、ブラウザ上でズーム・ホバー・選択操作ができるグラフを少ないコードで生成できます。上位プロダクトのDashを使えば、PlotlyグラフをそのままPython製Webダッシュボードに発展させることもでき、データサイエンスからBIまで横断的に使われています。
この記事の目次
- Plotlyを支える三つの中核
- 創業から多言語OSSへ
- ブラウザに強みが出る使い方
- Seaborn・Bokehとの位置取り
- まとめ
Plotlyを支える三つの中核

Plotlyの根幹は、D3.jsとWebGLを組み合わせたJavaScriptライブラリplotly.jsです。折れ線・棒・散布図といった基本チャートに加え、3D散布図、地図、コーン・サーフェス、サンキー図、財務向けロウソク足など40種類以上のチャートタイプをカバーし、ブラウザ側でズーム・パン・ホバーといった対話操作を標準で備えます。サーバー側で重い処理を行わず、HTMLファイル単体に埋め込んで配布できる手軽さもPlotlyの強みです。
Pythonユーザーが触れるのはplotly.pyで、その中でもplotly.expressモジュールはSeabornに近い宣言的APIを提供します。DataFrameと変数名を渡せば、px.scatterやpx.line一行でインタラクティブグラフが完成し、px.choroplethなら地理データをそのまま地図に落とせます。さらにDashはPlotly Technologies社が2017年に公開したPython製ダッシュボードフレームワークで、ReactベースのコンポーネントをPythonコードから組み立てて社内BIアプリを作れる基盤として広く採用されています。
創業から多言語OSSへ

Plotly Technologies社は2012年、Alex Johnson氏らによってカナダのモントリオールで創業されました。当初はSaaS型の対話的グラフ共有サービスとして始まり、Jupyterの台頭に合わせて2015年にplotly.jsをMITライセンスでOSS化、その後plotly.pyやplotly.Rもオープン化していきます。2017年には大型OSSプロジェクトとしてDashを公開し、「JavaScriptを書かなくてもPythonだけで社内ダッシュボードを作れる」というメッセージで一気に注目を集めました。
Dashの登場以降、PlotlyはBI領域での存在感を強め、金融・製造業・公共機関に向けたDash Enterpriseという商用サポート版も提供しています。OSS本体は引き続きMITライセンスで開発され、地理可視化のplotly.express、機械学習可視化のplotly.figure_factory、Jupyter拡張のplotly.io、Reactコンポーネントのdash-core-componentsなど、エコシステムは多層的に広がっています。学術・産業の双方でユーザー数が増え、PythonデータサイエンスのデファクトとしてmatplotlibやSeabornと並ぶ位置を占めるようになりました。
ブラウザに強みが出る使い方

Plotlyが真価を発揮するのは、グラフを「触りたい」場面です。経営ダッシュボードでは、複数KPIを並べて期間フィルタ・ドリルダウンを実装でき、Dashコールバックで指標をクリックすると関連の明細表が更新される、というBIアプリ的なUXを実現できます。金融時系列では、go.Candlestickで長期チャートを描き、ホイール操作でズームしながら異常区間を探すといった分析が手軽です。
地理データの可視化にも強く、px.choroplethで国・都道府県別マップ、px.scatter_mapboxでOpenStreetMapやMapbox上の点群を描けます。実験結果報告では、Jupyter NotebookやHTMLにPlotlyグラフを埋め込むだけで、読み手が自由にズームできるレポートを作れる点が好評です。化学・生物分野では3D散布図やサーフェスプロットで分子構造やシミュレーション結果を眺めることができ、「静的画像では伝わらない情報を視聴者に渡したい」場面でPlotlyが選ばれます。
Seaborn・Bokehとの位置取り

matplotlibやSeabornは静的画像中心で、レポートや論文に最適化されています。Plotlyはこれらと領域が異なり、「ブラウザ上で読み手が触れる対話性」を主戦場としています。同じくPython発の対話的可視化ライブラリにはBokehがあり、大規模時系列や金融データのストリーミング表示に強いですが、Dashのような完成度の高いダッシュボードフレームワークが標準でセットになっている点でPlotlyが頭一つ抜きん出ています。
AltairはGoogle BrainのJake Vanderplas氏らが主導するVega-Lite準拠の宣言型可視化ライブラリで、ノートブック上での簡潔な記述に強い一方、対話性や大規模データはPlotlyに軍配が上がります。TableauやPower BIといったGUIベースのBIツールに比べると、Plotly+Dashは「コードとGitで管理できるダッシュボード基盤」という位置付けで、エンジニア主導のBI構築で選ばれる傾向があります。用途に応じてSeaborn・matplotlibと使い分け、対話性が必要になった瞬間にPlotlyへ切り替えるのが現実的な運用です。
まとめ
Plotlyは2012年創業のPlotly Technologies社が育てたインタラクティブ可視化ライブラリ群で、plotly.jsを核にPython・R・Juliaから利用できます。上位プロダクトのDashと組み合わせれば、コードで管理できるWebダッシュボードまで一気通貫で作れるため、データサイエンス現場の「触れるグラフ」需要に応える標準ツールとなっています。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント