Streamlit入門

PythonでStreamlitを使うとHTMLを知らなくてもウェブページを作ることができます。

基本

インストールは次のとおりです。

pip install streamlit

次のように書きます。sample.pyとします。

import streamlit as st
st.title("これがタイトル")

コンソールで次のように入力します。

streamlit run sample.py

ブラウザにウェブページとして表示されます。

テキスト

titleはh1に相当します。
headerはh2、subheaderはh3に相当します。
textはpreに相当します。通常の文章はwriteを使うと良いようです。
latexが簡単に使えます。

st.title("これがタイトル")
st.header("これがヘッダ")
st.subheader("これがサブヘッダ")
st.caption("これがキャプション")
st.text("これが本文。")
st.latex("ax^2+bx+c=0")

マークダウン

st.markdown("""
# 見出し1

本文。

- リスト
- リスト

1. リスト
2. リスト
"""
)

コード

st.code("a = 1", language="python")
st.code("$a = 1;", language="php")

テーブル

df = pd.DataFrame({
  "一番目":[1, 2, 3, 4],
  "二番目":[10, 20, 30, 40]})
st.dataframe(df)
st.table(df)

測定値

st.metric(label="得点", value="95", delta="10")

col1, col2, col3 = st.columns(3)
col1.metric("国語", "80", "5")
col2.metric("算数", "90", "10")
col3.metric("理科", "75", "-15")

JSON

json_str = '{"date":"2022-1-15","data":[{"id":1,"pref":"北海道"}]}'
st.json(json_str)

json_obj = {"date":"2022-1-15", "data":[{"id":1, "pref":"北海道"}]}
st.json(json_obj)

Graphviz(DOT)

st.graphviz_chart("""
  digraph{
    東京->神田->御茶ノ水
    東京->有楽町
  }
  """

)

チャート(グラフ)

import numpy as np
chart_data = pd.DataFrame({
  "アフリカゾウ":[3, 4, 2, 4],
  "いのしし":[5, 1, 4, 0.5],
  "牛":[1, 4.5, 1, 4.5]
})
st.line_chart(chart_data)
st.area_chart(chart_data)
st.bar_chart(chart_data)

ステータス

st.error("エラー")
st.warning("警告")
st.info("情報")
st.success("成功")
e=RuntimeError("例外")
st.exception(e)

コメント

タイトルとURLをコピーしました