streamlit4c / app.py
seawolf2357's picture
Update app.py
79d2b6a verified
raw
history blame
2.88 kB
import streamlit as st
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import io
# νŽ˜μ΄μ§€ μ„€μ •
st.set_page_config(page_title="Streamlit UI Components", page_icon=":sparkles:")
# 제λͺ©
st.title("Streamlit UI Components μ˜ˆμ‹œ")
# λΆ€μ œλͺ©
st.header("μž…λ ₯ μ»΄ν¬λ„ŒνŠΈ")
# ν…μŠ€νŠΈ μž…λ ₯
text_input = st.text_input("ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜μ„Έμš”")
# 숫자 μž…λ ₯
number_input = st.number_input("숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”", min_value=0, max_value=100)
# ν…μŠ€νŠΈ μ˜μ—­
text_area = st.text_area("μ—¬λŸ¬ 쀄 ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜μ„Έμš”")
# λ‚ μ§œ μž…λ ₯
date_input = st.date_input("λ‚ μ§œλ₯Ό μ„ νƒν•˜μ„Έμš”")
# μ‹œκ°„ μž…λ ₯
time_input = st.time_input("μ‹œκ°„μ„ μ„ νƒν•˜μ„Έμš”")
# 파일 μ—…λ‘œλ“œ
uploaded_file = st.file_uploader("νŒŒμΌμ„ μ—…λ‘œλ“œν•˜μ„Έμš”", type=["png", "jpg", "jpeg", "txt", "csv"])
# μŠ¬λΌμ΄λ”
slider = st.slider("μŠ¬λΌμ΄λ”λ₯Ό μ‘°μ •ν•˜μ„Έμš”", 0, 100, 50)
# μ…€λ ‰νŠΈλ°•μŠ€
selectbox = st.selectbox("μ˜΅μ…˜μ„ μ„ νƒν•˜μ„Έμš”", ["μ˜΅μ…˜ 1", "μ˜΅μ…˜ 2", "μ˜΅μ…˜ 3"])
# λ©€ν‹°μ…€λ ‰νŠΈ
multiselect = st.multiselect("μ—¬λŸ¬ μ˜΅μ…˜μ„ μ„ νƒν•˜μ„Έμš”", ["μ˜΅μ…˜ A", "μ˜΅μ…˜ B", "μ˜΅μ…˜ C"])
# λΌλ””μ˜€ λ²„νŠΌ
radio = st.radio("λΌλ””μ˜€ λ²„νŠΌμ—μ„œ μ„ νƒν•˜μ„Έμš”", ["선택 1", "선택 2", "선택 3"])
# μ²΄ν¬λ°•μŠ€
checkbox = st.checkbox("μ²΄ν¬λ°•μŠ€λ₯Ό μ„ νƒν•˜μ„Έμš”")
# λ²„νŠΌ
if st.button("ν΄λ¦­ν•˜μ„Έμš”"):
st.success("λ²„νŠΌμ΄ ν΄λ¦­λ˜μ—ˆμŠ΅λ‹ˆλ‹€!")
st.header("좜λ ₯ μ»΄ν¬λ„ŒνŠΈ")
# ν…μŠ€νŠΈ 좜λ ₯
st.write("여기에 ν…μŠ€νŠΈλ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.")
# λ°μ΄ν„°ν”„λ ˆμž„ 좜λ ₯
df = pd.DataFrame({
'column 1': [1, 2, 3, 4],
'column 2': [10, 20, 30, 40]
})
st.dataframe(df)
# 차트
chart_data = pd.DataFrame(np.random.randn(20, 3), columns=['a', 'b', 'c'])
st.line_chart(chart_data)
# κ·Έλ¦Ό 좜λ ₯
if uploaded_file is not None and uploaded_file.type.startswith("image/"):
image = Image.open(uploaded_file)
st.image(image, caption="Uploaded Image")
# λΉ„λ””μ˜€ 좜λ ₯
video_file = open('example.mp4', 'rb')
video_bytes = video_file.read()
st.video(video_bytes)
# μ½”λ“œ 좜λ ₯
code = '''def hello():
print("Hello, Streamlit!")'''
st.code(code, language='python')
# 맡
map_data = pd.DataFrame({
'lat': np.random.randn(10) + 37.76, # μƒŒν”„λž€μ‹œμŠ€μ½” μœ„λ„ μ£Όλ³€
'lon': np.random.randn(10) - 122.4 # μƒŒν”„λž€μ‹œμŠ€μ½” 경도 μ£Όλ³€
})
st.map(map_data)
# 진행바
import time
progress_bar = st.progress(0)
for i in range(100):
time.sleep(0.1)
progress_bar.progress(i + 1)
st.header("차트 μ˜ˆμ‹œ")
# λ§‰λŒ€ 차트
fig, ax = plt.subplots()
ax.bar(["A", "B", "C"], [10, 20, 15])
st.pyplot(fig)
# 주의: μ‹€μ œ μ½”λ“œ 싀행을 μœ„ν•΄μ„œλŠ” 'example.mp4' λΉ„λ””μ˜€ 파일이 ν•„μš”ν•©λ‹ˆλ‹€. ν•΄λ‹Ή 파일이 μ—†λ‹€λ©΄ λΉ„λ””μ˜€ κ΄€λ ¨ μ½”λ“œλ₯Ό 주석 μ²˜λ¦¬ν•˜κ±°λ‚˜ νŒŒμΌμ„ μ€€λΉ„ν•΄μ£Όμ„Έμš”.