【Python】表からインタラクティブにグラフを作りたい
・お題:表からインタラクティブにグラフを作りたい。
・pixiedustというライブラリを使ってみた。正しいことは以下をご確認いただきたい。
・とりあえず、pixiedustをインストールした。試しにインポートしたところ、jinja2でエラーが出たので、jinja2のバージョン3.0.0をインストールしたところ、pixiedustをインポートできた。
・また、Jupyter Labで実行しようとしたところ、うまくいかなかった。同じ環境でJupyter Notebookだと起動したので、Jupyter Labにはまだ対応していないのかもしれない(ちゃんと設定すれば行けるのかも)。
・PandasのDataframeを作成する。
import pandas as pd
import random
df=pd.DataFrame({"Nenrei":[random.randint(20, 60) for n in range(100)],
"Taiju":[random.randint(45, 100) for n in range(100)],
"Nenshu":[random.randint(200, 1000) for n in range(100)]})
・pixiedustをインポートして、displayする。
from pixiedust.display import *
display(df)
すると、以下の表示が出る。
・左上のギザギザ矢印をクリックすると、どんなグラフを作りたいか選べる。
・例えば、Bar Chartを選択して、Optionで何となにの関係を見たいのか設定する。今回であれば、NenreiとNenshuの関係を見てみる。
・すると、以下のようなグラフが作成された。クラスタ分けも設定できそう。
・Renderを変更することもできる。選択できるRenderはグラフの種類ごとに異なる、棒グラフであれば、matplotlibとbokehから選べる。bokehだと以下のような感じ。カーソルを合わせるとデータがポップアップする。
・ヒストグラムを並べて描いたり、ビンの数を弄ったりもできる。恐るべき手軽さ。。
・ちなみに、↓マークのボタンからダウンロードもできる。ダウンロードされるのは表データそのものだけみたい。
・直感的に使えるシンプルな仕様は大きな魅力。
おわり。