初めに
みなさんこんにちは!今回はPythonのデータ可視化ライブラリ、Plotlyについて学んでいきます。簡単な縦棒グラフ作成から最終的にはWebアプリケーション、例えばflaskなどを用いてPlotlyで可視化したデータを表示したいと思います。
リンク
【0日目】Plotlyで始める「魅せるデータ分析」~概要編~ ←イマココ
【1日目】Plotlyで始める「魅せるデータ分析」~超基本編~
【2日目】Plotlyで始める「魅せるデータ分析」~多種多様なグラフを描画する~
Plotlyとは
インタラクティブ(対話式)なグラフを作成できるライブラリです。PyThonのグラフ作成はmatplot.libが主流ですが、matplotlibは簡単に書ける代わりになんか古臭い…と思ったことはないでしょうか?
Plotlyなら、matplotlibより若干難易度があがりますが、ビューティフルで見やすいグラフがかけます。
私はデータサイエンスにおいて、データの見せ方を非常に重視しているので、Plotlyはデータサイエンティストなら必修科目だと思っています。なので、一緒に学んでいきましょう。
実際どんなことができるの?
動的なグラフの作成
下記GIFのように再生ボタンを押すと動くようなグラフを作成することができます。
なんとこのグラフ、再生ボタン、停止ボタンそして下のスクロールバー、全部Plotlyのみで書くことができます。
matplotlibとちがい、座標をチェックできる
日本語が下手でごめんなさい。どういうことかというとマウスカーソルをグラフの点に合わせるだけで、座標が確認できます。
この例ですと、x=b, y=3
ということが確認できますね。matplotlibですと、ここの座標を確認したい場合に元データをみるか、私はやり方知らないですが、長いコードを書くかということになると思います。
今回の例のコードは以下の通りになります。とっても短いです。
import plotly.express as px
fig = px.line(x=["a", "b", "c"], y=[1, 3, 2], title="sample figure")
print(fig)
fig.show()
Webアプリケーションに組み込める
Plotlyはベースがjavascriptで作られており、HTML/CSSととても相性がいいです。
どういうことかというと簡単にウェブアプリケーションに組み込めます。以下は私が昔作成した論文検索アプリケーションの可視化機能です。
このアプリでは登録した論文と一致度が高い論文を図で表しています。青色の図が自分の論文テーマで付近の論文が自分のテーマに近い論文です。今回はマウスを緑色の小さな点においてます。そうすると、論文のタイトルが表示される、といった仕組みです。
これもPlotlyで作成いたしました。小さなサーバーで運営しているため、サーバーダウンの懸念がありURLを教えることはできませんが、一例までに…(どうしても知りたいという方はTwitterまでお願いします。)
最後に
今回は手短にですが、Plotlyの紹介をいたしました。これから暇なときに続きを書きますので、乞うご期待してください。
できればQiita, Twitterのフォローをお願いします。