3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【0日目】Plotlyで始める「魅せるデータ分析」~概要編~

Last updated at Posted at 2022-12-15

初めに

 みなさんこんにちは!今回はPythonのデータ可視化ライブラリ、Plotlyについて学んでいきます。簡単な縦棒グラフ作成から最終的にはWebアプリケーション、例えばflaskなどを用いてPlotlyで可視化したデータを表示したいと思います。

リンク

【0日目】Plotlyで始める「魅せるデータ分析」~概要編~ ←イマココ
【1日目】Plotlyで始める「魅せるデータ分析」~超基本編~
【2日目】Plotlyで始める「魅せるデータ分析」~多種多様なグラフを描画する~

Plotlyとは

インタラクティブ(対話式)なグラフを作成できるライブラリです。PyThonのグラフ作成はmatplot.libが主流ですが、matplotlibは簡単に書ける代わりになんか古臭い…と思ったことはないでしょうか?
 Plotlyなら、matplotlibより若干難易度があがりますが、ビューティフルで見やすいグラフがかけます。
私はデータサイエンスにおいて、データの見せ方を非常に重視しているので、Plotlyはデータサイエンティストなら必修科目だと思っています。なので、一緒に学んでいきましょう。

実際どんなことができるの?

動的なグラフの作成 

 下記GIFのように再生ボタンを押すと動くようなグラフを作成することができます。
 なんとこのグラフ、再生ボタン、停止ボタンそして下のスクロールバー、全部Plotlyのみで書くことができます。

無題の動画 ‐ Clipchampで作成.gif

matplotlibとちがい、座標をチェックできる

 日本語が下手でごめんなさい。どういうことかというとマウスカーソルをグラフの点に合わせるだけで、座標が確認できます。
この例ですと、x=b, y=3ということが確認できますね。matplotlibですと、ここの座標を確認したい場合に元データをみるか、私はやり方知らないですが、長いコードを書くかということになると思います。
image.png

今回の例のコードは以下の通りになります。とっても短いです。

hello.py
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ととても相性がいいです。
どういうことかというと簡単にウェブアプリケーションに組み込めます。以下は私が昔作成した論文検索アプリケーションの可視化機能です。
image.png

 このアプリでは登録した論文と一致度が高い論文を図で表しています。青色の図が自分の論文テーマで付近の論文が自分のテーマに近い論文です。今回はマウスを緑色の小さな点においてます。そうすると、論文のタイトルが表示される、といった仕組みです。
これもPlotlyで作成いたしました。小さなサーバーで運営しているため、サーバーダウンの懸念がありURLを教えることはできませんが、一例までに…(どうしても知りたいという方はTwitterまでお願いします。)

最後に

 今回は手短にですが、Plotlyの紹介をいたしました。これから暇なときに続きを書きますので、乞うご期待してください。
できればQiita, Twitterのフォローをお願いします。

参考

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?