
MLBデータの可視化アプリケーションはPlotly Dashで作ると幸せだよ
マイルドにテックなネタはnoteに書くことにしました。
MLBヲタクが、スタンダードなスタッツから"Statcast"に代表されるトラッキングデータまで、何らかのMLBデータの可視化をテーマとしたWebアプリケーションを作りのフレームワークはPlotly Dash一択なんじゃねーか、と言うポエムです。
どうして?
まずはサマリから。
・ヌルヌル動くイケているグラフがサクッと作れる、ゆえにMLBデータの可視化がこれ一択と思う
・このライブラリ、昔はイケているグラフ作りが難しかったが、最近とても簡単になった
・このグラフを出力させることに尖った専用Webアプリケーションフレームワーク(これがPlotly Dash)があり、親和性大
・Webアプリを作る上で覚えることが少ないので、ヲタクでも簡単に作れる
つまり、Plotly Dashによって、本業エンジニアで無くても可視化共有用のアプリが簡単に作れて、有用な可視化に溢れる良いMLBコミュニティが生まれるんじゃねーか、と思う次第です。
こんなのが
こんな具合にホバーするとヌルヌル出てきたりします。
詳しくはオフィシャルなギャラリーページへGO!
以下、Plotly Dashについてのちょっとこまかーい内容を書きます。
Plotly Dashとは?
正しくは"Dash by Plotly"と言いますが、Pythonで作られたWebアプリケーションフレームワークです。カナダ・モントリオールに本拠を置くPlotly社によって作られている、データ分析・可視化の点に尖ったWebアプリケーションフレームワークです。
プロッティング単体のライブラリとしてJavaScriptベースのライブラリ"plotly.js"が提供されており、それが利用出来るAPIが下記言語でサポートされています。これが"Plotly"と言われている部分。
Python
R
MATLAB
Node.js
Julia
JavaScript
Ruby
Go
ハードウェア(ArduinoやRasberry PI)
PythonでOK!と言うのがポイントですね。
で、そんなplotly.jsがデフォルトで組み込まれているWebアプリケーションフレームワークがDash、と言うカテゴライズになります。
Plotly DashはPlotlyで作ったグラフの連携に尖った専用フレームワークで、ゆえにデータ分析・可視化にとてつもない強さを誇ります。
Plotly Dashのメリット
データを回すMLBヲタクへPlotly Dashを推すポエムなので、メリットしか書かないです。あと、Dashだけで無くPlotly単体のメリットも書きまくります。
Plotlyで作ったグラフの連携がサクッと出来る
"Dash by Plotly"と言うだけあって、Plotlyで作ったグラフをアプリケーションに埋めることがサクッと出来ます
Plotlyで作ったグラフがとてもイケてる
サクッと連携が出来るPlotlyで作れるグラフがとてもイケている点もグッド。統計分析・機械学習目的として圧倒的シェアを誇るPythonは可視化ライブラリもたくさんあるが、Plotlyはデザインもイケているし、ヌルヌルと動いてとてもモダンな仕上がり。
最近、Plotlyでのグラフ作りが楽になった
Plotlyはインプットにするデータの加工がめんどいが、最近Plotly Expressと言うラッパーライブラリ(便利ライブラリと思ってください)が出来たことで、圧倒的にコードが書く量が減りました。
アプリケーションを作りで覚えるべきはPythonだけ、簡単!
まともにWebアプリケーションを作ろうと思うと、HTML・CSS・JavaScript、サーバサイドの言語、もっと凝ろうと思うとデータベース、、と、プライベートでサクッと作るにはとてもハードルが高かったりします。しかし、Plotly Dashはデフォルトで画面側の諸々にまつわるライブラリを組み込んでいるため、開発にあたってはPythonだけ書けば全てが作れます。Pythonさえ書ければアプリケーションが作れる簡単さがたまらん、しかもPythonも簡単です
つまり
ヌルヌル動くイケているグラフがサクッと作れる、ゆえにMLBデータの可視化がこれ一択と思う
Plotlyならではの大きなメリット
このライブラリ、昔はイケているグラフ作りが難しかったが、最近とても簡単になった
Plotly Expressが生まれたため、ハードルだだ下がりしたよ
このグラフを出力させることに尖った専用Webアプリケーションフレームワーク(これがPlotly Dash)があり、親和性大
PlotlyのためのWebアプリケーションフレームワークがPlotly Dashなので、連携も楽々。ヲタク仲間への共有も楽チンです
Webアプリを作る上で覚えることが少ないので、ヲタクでも簡単に作れる
Pythonだけ覚えればPlotlyでグラフを書くこともPlotly Dashでアプリを作ることも出来る。PythonだけでOK
Plotly Dashはデータを回したいMLBヲタクのメシアなのです。
テッキーな記事へのリンク
Plotly Dashネタでは1本も書いていないので、環境構築不要、ブラウザだけでPlotlyでのグラフ作りを体験出来る方法を書いたQiita記事を共有します。
おいでよ、Plotly Dashの森!