Life is Like a Boat

忘備録や経済、投資、プログラミングに関するメモやtipsなど

PlotlyのDashでWebアプリを作ってみる

f:id:nerimplo:20180904141112j:plain

Dash

Plotlyが開発を主導するオープンソースのDashというフレームワークを最近触り始めました。

フレームワークが群雄割拠する時代、これの何がいいかというと、小規模なSPA(Single Page Application)をJavaScriptなしでPythonとCSSを使って構築することができる、という点です。

DashはFlask、React、Plotlyを組み合わせたフレームワークで、こんな感じのWebアプリが数十行で作れます(画像はDashのgithubより)

https://user-images.githubusercontent.com/1280389/30086128-9bb4a28e-9267-11e7-8fe4-bbac7d53f2b0.gif

こんな人にお勧め

数日使って見て、こんな人にお勧めです。

  • 既にデータがあってJupyter Notebookで可視化したりしている。
  • 可視化したグラフやデータテーブルを公開したい。
  • インタラクティブなグラフを含むWebアプリを簡単に作りたい。
  • いまさらJavaScript界隈のフレームワークに慣れるの面倒くさい。

ビジネス需要でいうと、BIサイトの構築にも十分使えると思います。 例えば、

  • 営業チームの今日の訪問予定先を地図で表示する。
  • ショベルカーの地域別稼働率
  • 月次の売上データの可視化

別々のセッションを持つことになるので、複数ユーザーが同時にWebアプリを使うことができます。BIサイトのURLを上司に渡しておけば、自分でポチポチしてもらって、地域別売上と費用をデータテーブルとチャート付きで表示するという機能も十分開発可能です。

まぁTableauでもできると言われればじゃあそっち使えばいいやんとなるわけですが。

サンプル

下記リンクは景気ウォッチャー調査投資法をネタに作ってみたサイトです。 economy-watcher.herokuapp.com

こちらは、UKにおける交通事故をPlotly Dashを使って可視化したサイト。Plotly Dashコミュニティで紹介されていました。 https://traffic-accidents-uk.herokuapp.com/