いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【Python】表からインタラクティブにグラフを作りたい

・お題:表からインタラクティブにグラフを作りたい。

 

・pixiedustというライブラリを使ってみた。正しいことは以下をご確認いただきたい。

pixiedust.github.io

 

・とりあえず、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だと以下のような感じ。カーソルを合わせるとデータがポップアップする。

ヒストグラムを並べて描いたり、ビンの数を弄ったりもできる。恐るべき手軽さ。。

・ちなみに、↓マークのボタンからダウンロードもできる。ダウンロードされるのは表データそのものだけみたい。

 

 

・直感的に使えるシンプルな仕様は大きな魅力。

 

おわり。