くないらぼ

python でおかねをあならいず

python可視化ライブラリのAltairをオススメしてきた

第17回のはんなりpython にて Altair というpythonの可視化ライブラリの良さを発表しました!

hannaripython.hatenadiary.com

会場提供はマネーフォワードさんでした。 オフィスとは思えないおしゃんな感じで圧倒されました!
畳での発表は初でしたが、いつもより心理的な距離感は近くて良いなと思いました。


Altairの特徴と発表資料


Altair では、X座標、Y座標だけでなく、サイズや色も表現軸として扱うことができます。(日本語むずい)

さらにそれらの変更・交換も簡単なので、様々な切り口での可視化する際の可視化の試行錯誤がやりやすいです。

Exploratory Data Analysis ( EDA ) こと、 探索的データ分析 には良いのでは?と思っています。


資料はこちら



スライド内でのコードやリンク

Altair のインストール

pip install altair
pip install vega
pip install vega_datasets  #  公式サンプルを動かすのに必要

Altair を使う時のテンプレコード

import altair as alt

alt.renderers.enable('notebook') # jupyter notebook のみ必要。  jupyter labなら不要

alt.data_transformers.enable('default', max_rows=None) # dfのサイズ制限解除
#alt.data_transformers.enable('json') # ipynb が巨大化しないが、 json大量発生
alt.themes.enable('opaque') # for dark background color
from vega_datasets import data # サンプル用のデータ (一部ネット回線が必要)

import pandas as pd
import numpy as np

# 今回のスライド用
cars = data.cars()

# 代表として例5のソースコードだけ載せておきます
alt.Chart(data=cars).mark_point().encode(
    alt.X("Acceleration"),
    alt.Y("Horsepower"),
    alt.Color("Origin"),
    alt.Opacity("Miles_per_Gallon"),
)



その他スライド中のソースコードはこちらからならコピー可能です。(ややこしくてすみません)

docs.google.com


Altair関係のリンク

公式ドキュメント https://altair-viz.github.io/

公式サンプル集 https://altair-viz.github.io/gallery/index.html


インタラクティブでイケてるおすすめサンプル乱れ打ち

https://altair-viz.github.io/gallery/multiline_highlight.html

https://altair-viz.github.io/gallery/scatter_linked_brush.html

https://altair-viz.github.io/gallery/selection_histogram.html

https://altair-viz.github.io/gallery/select_detail.html

https://altair-viz.github.io/gallery/multiple_interactions.html

https://altair-viz.github.io/gallery/interactive_layered_crossfilter.html

https://altair-viz.github.io/gallery/us_population_pyramid_over_time.html


Altair入門 〜 インタラクティブなものを作るまでのチュートリアル動画

 作者のイケメン jake 氏 によるハンズオン。 非常にわかりやすい。
 なぜか休憩時間もずっと録画されているため3時間と長い。ゆるい。

www.youtube.com

 

かんそう

10分で終わらせるために高速でスライドをめくりました・・・w
資料を作る前は10分ならなんとかできるかな・・・と思っていましたが、 実際に作っていると伝えたいことが多くなってきて15分でも足りないなー、という印象でした。
とはいえ、発表時間10分というのは資料作りのハードルの低さとしてはとても良かったです。


来月のはんなりpythonはハンズオン回です。
この前やった pandas のハンズオンを私がまたやります。
今度はもうちょい範囲を絞ってゆっくりやれたらいいなと思います。

参考までに前回のハンズオンの記事はこちら〜

kunai-lab.hatenablog.jp