Streamlitの記事2本目です。今回はデータの可視化として、Streamlit標準のグラフ描写機能と少し他のデータ表示方法を紹介します。
前回の記事でも描きましたが、Streamlitにはmatplotlibのグラフを表示する機能があります。また、これ以外にもgraphvizとかplotlyとかのグラフを表示する機能もあって、それらを使えば良いからというのもあってか標準のグラフ作成機能は作成できるグラフの種類がかなり限られます。
具体的には、エリアグラフ/棒グラフ/折れ線グラフ/地図/散布図の5種類です。
ドキュメントはこちら。
今回の記事ではこの5種類のグラフと、あと指標の数値をそのまま表示する機能、そして画像データ(行列データ)を表示するサンプルコードをそのまま紹介します。
サクッと動かせるのでコピペして試してみてください。
import streamlit as st
import pandas as pd
import numpy as np
# データの準備
data = pd.DataFrame(
np.random.randn(20, 3),
columns=['a', 'b', 'c']
)
# エリアグラフ
st.area_chart(data)
# 棒グラフ
st.bar_chart(data)
# 折れ線グラフ
st.line_chart(data)
# 散布図(x軸、y軸に利用したい列を指定して使う)
st.scatter_chart(data, x="a", y="b")
# 地図表記用の緯度経度データの作成
data_map = pd.DataFrame(
{
'lat': [37.76, 37.76],
'lon': [-122.4, -122.41]
}
)
# 地図
st.map(data_map)
# メトリックを表示。valueが値で、deltaで変化幅を表示可能
st.metric(label="為替", value="165円", delta="-2円")
# imageで画像データを表示可能。identityはサンプルとして用意した斜め線の図(単位行列)
st.image(1-np.identity(100), caption="斜線")
念のためですが、実行方法は $streamlit run {ファイル名} です。