python だけでチャートを描画できる streamlit
python だけでチャートが出力できるとの事。
ちょっと面白そうだったので動かしてみました。
内容はほぼコピペですが。
参考
インストール
ライブラリをインストールします。
pip install streamlit watchdog matplotlib click
- streamlit
- 本体
- watchdog
- パフォーマンスの向上
- matplotlib
- グラフの可視化
- click
- スクリプトに引数を渡す
文字列を描画
文字列を描画してみます。
# -*- coding: utf-8 -*-
import streamlit as st
def main():
# Streamlit が対応している任意のオブジェクトを可視化する (ここでは文字列)
st.write('Hello, World!')
if __name__ == '__main__':
main()
デフォルトのポートが 8501 らしいので、ブラウザで下記のURLを叩くと画面が表示されます。
http://localhost:8501/
グラフを描画
グラフを描画してみます。
# -*- coding: utf-8 -*-
import streamlit as st
import pandas as pd
import numpy as np
def main():
# ランダムな値でデータフレームを初期化する
data = {
'x': np.random.random(20),
'y': np.random.random(20) - 0.5,
'z': np.random.random(20) - 1.0,
}
df = pd.DataFrame(data)
# 折れ線グラフ
st.subheader('Line Chart')
st.line_chart(df)
# エリアチャート
st.subheader('Area Chart')
st.area_chart(df)
# バーチャート
st.subheader('Bar Chart')
st.bar_chart(df)
if __name__ == '__main__':
main()
表を描画
表を描画してみます。
# -*- coding: utf-8 -*-
import streamlit as st
import pandas as pd
import numpy as np
def main():
# Pandas のデータフレームを可視化してみる
data = {
# ランダムな値で初期化する
'x': np.random.random(20),
'y': np.random.random(20),
}
df = pd.DataFrame(data)
# データフレームを書き出す
st.dataframe(df)
# st.write(df) でも良い
# スクロールバーを使わず一度に表示したいとき
st.table(df)
if __name__ == '__main__':
main()
地図を描画
地図を描画してみます。
# -*- coding: utf-8 -*-
import streamlit as st
import pandas as pd
import numpy as np
def main():
# 東京のランダムな経度・緯度を生成する
data = {
'lat': np.random.randn(100) / 100 + 35.68,
'lon': np.random.randn(100) / 100 + 139.75,
}
map_data = pd.DataFrame(data)
# 地図に散布図を描く
st.map(map_data)
if __name__ == '__main__':
main()
ディスカッション
コメント一覧
まだ、コメントがありません