Streamlit를 사용하여 데이터 시각화 도구 만들기
11397 단어 Streamlit
다음은 파이톤
The fastest way to
build data apps
Streamlit 첫 페이지https://www.streamlit.io/의 표어입니다.너는 그 가장 빠른 속도에 따라 응용 프로그램을 구축할 수 있다.
어떤 물건
차리다
streamlit를 설치합니다.여기는 0.61.0입니다.꽃을 로드하기 위한 데이터 세트에는 TensorFolow가 사용됩니다.여기
$ pip install streamlit
$ pip install tensorflow
이루어지다app.py
.50줄 이내에 위gif와 같은 프로그램을 실현할 수 있습니다.
import pathlib
from typing import List
from PIL import Image
import streamlit as st
from tensorflow import keras
def download() -> str:
data_dir = keras.utils.get_file(
origin="https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz",
fname="flower_photos",
untar=True,
)
return data_dir
class FlowerDataset:
def __init__(self):
self.data_dir = pathlib.Path(download())
self.labels = ["sunflowers", "daisy", "roses", "tulips", "dandelion"]
def select(self, label: str) -> List[pathlib.Path]:
return list(self.data_dir.glob(f"{label}/*"))
def main():
st.markdown("# Data visualization tool using Streamlit")
dataset = FlowerDataset()
selector = st.sidebar.selectbox("Select your favorite flower", dataset.labels)
selected_data = dataset.select(selector)
index = st.sidebar.number_input(
f"Select index from 0 to {len(selected_data)}",
min_value=0,
max_value=len(selected_data),
value=0,
step=1,
)
sample_path = selected_data[index]
image = Image.open(sample_path)
expand = st.sidebar.checkbox("Expand")
degree = st.sidebar.slider("Degree", min_value=0, max_value=180, step=1)
st.image(image.rotate(degree, expand=expand))
if __name__ == "__main__":
main()
동작 방법pip install streamlit
에서 가져오면streamlit
명령을 사용할 수 있습니다.$ streamlit run app.py
이렇게 하면 브라우저에서 자동으로 업스트림 화면 옆에 선택 상자와 슬라이더가 표시됩니다.gist 코드도 실행할 수 있습니다
위 코드는 gist에서 공개됩니다.
- https://gist.github.com/terasakisatoshi/a26da05fa8077e9cda816e35ba0a12e1
이런 상황 앱.py를 가리키는 파일을 지정하면 파일을 잃어버리는 번거로움을 줄일 수 있습니다.
$ streamlit run https://gist.githubusercontent.com/terasakisatoshi/a26da05fa8077e9cda816e35ba0a12e1/raw/41541b7a1c842fe484f44ca8be2cd4fea00e7f94/app.py
코드 컨텐트 정보main()
함수의 내용을 보면 st.markdown
와st.sidebar.checkbox
같은 것이 보인다.UI의 위젯입니다(widget).실행 코드의 순서에 따라 화면 위쪽부터 순서대로 설정합니다.사이드바 (어쨌든 옆 구역) 에 설정하고 싶을 때 st.sidebar.<widgetname>
처럼 sidebar
를 거쳐 코드를 씁니다.streamlit run app.py
가 실행된 후 변경app.py
된 파일이 있으면 Streamlit에서 이 변경 사항을 감지하고 다시 프로그램을 실행합니다.이 기능은 매우 편리하다.특히streamlit run...다시 할 필요 없으니까.이걸 사용하면 스크랩으로 앱을 쓸 때import streamlit as st
한 줄만 쓴 다음stream lit run으로 파일에 수시로 기술하고 현장 업데이트를 하면 눈에 띄면 그에 맞는 것을 만들 수 있다.value=st.<widgetname>
의 형식입니다.왼쪽에는 선택 상자나 슬라이더가 유지되는 값이 저장됩니다.Streamlit은widget이 가지고 있는 값이 변할 때 원본 코드를 재평가합니다.변경된 값이 들어왔기 때문에value
변경된 값 논리에 따라 실행됩니다.이를 통해 UI 를 통해 적절한 작업을 수행할 수 있습니다.물론 재평가할 때마다 무거운 함수를 처리하는 악몽을 여러 번 상상하지만 @ts.cache
를 통해decord를 통해 해결한다.위의 예는 캐시를 사용하지 않아도 무겁지 않기 때문에 생략했습니다.st.image
그림% 1개의 캡션을 편집했습니다.즉, 매개 변수 함수의 그리기는 슬라이더와 Matplotlib을 통해 그릴 수 있으며, 이렇게 하면 상호작용 도표를 생성할 수 있다.스트림릿으로 데모를 제작할 수 있습니다.
Reference
이 문제에 관하여(Streamlit를 사용하여 데이터 시각화 도구 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoshiTerasaki/items/6cbae5384d7305d1610a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)