🛫

備忘録:Streamlitでお手軽Webアプリ

2021/06/23に公開

streamlitをはじめて使ったので使い方をまとめておく

公式サイト

https://streamlit.io/

公式ドキュメント

https://docs.streamlit.io/en/stable/index.html

インストール

pip install streamlit

チュートリアルの立ち上げ

streamlit hello

作成した.pyをstreamlitで動かす

streamlit run sample.py 

実際にstreamlitを使ってみる

import streamlit as st

タイトルをつける

st.title('My title!')

なんかを表示させたい(テキストでもplotでも)

st.write('text')
st.write('# markdown記法も使える!') # マークダウンで書ける
st.write('Hello, *World!* :sunglasses:') # 絵文字も使える

明示的にMarkdownとすることもできます。

st.markdown('# markdownを使って書けてすごい!')

plotlyで書いたグラフを表示する

import plotly.graph_objects as go

animals = ['giraffes', 'orangutans', 'monkeys']
populations = [20, 14, 23]

fig = go.Figure(data=[go.Bar(x=animals, y=populations)])

fig.update_layout(
    xaxis = dict(
        tickangle = 0,
        title_text = "Animal",
        title_font = {"size": 20},
        title_standoff = 25),
    yaxis = dict(
        title_text = "Populations",
        title_standoff = 25),
    title ='Title')

# streatlimで表示するために
st.plotly_chart(fig, use_container_width=True)

pd.DataFrameの表示

import pandas as pd
df = pd.DataFrame({
     'first column': [1, 2, 3, 4],
     'second column': [10, 20, 30, 40]
     })

st.write(df)

プルダウンを表示させる

# プルダウンを表示させる
what_lang = st.selectbox(
    'あなたの好きな言語を選んでね!',
     ('python','Rust', 'go', 'C++'))

# プルダウンサイドバーに表示させる
what_lang_size = st.sidebar.selectbox(
    'あなたの好きな言語を選んで!',
     ('python','Rust', 'go', 'C++'))

プルダウンで選択されたやつは変数(今回ではwhat_lang)に代入される。

ボタンの表示

answer = st.button('Say hello')

if answer == True:
     st.write('Why hello there')
else:
     st.write('Goodbye')

GitHubで編集を提案

Discussion