[Python] Ich habe einen Test von "Streamlit" geschrieben, der das Erstellen von Visualisierungsanwendungen erleichtert.

Einführung

Beim Erstellen einer Webanwendung mit auf Python basierenden Diagrammen habe ich die Kombination der Diagrammbibliothek "Plotly" + Webanwendungsframework "Dash by Plotly" verwendet. Diesmal habe ich jedoch einen großen Rookie namens "Streamlit" getroffen, der ein großes Potenzial hat, die Position von "Dash" zu gefährden. Deshalb werde ich ein als Test geschriebenes Memo fallen lassen.

Was ist "Streamlit"?

Streamlit is an open-source app framework for Machine Learning and Data Science teams. Create beautiful data apps in hours, not weeks. All in pure Python. All for free.

Ein Anwendungsframework, mit dem Sie eine Webanwendung mit einem einzigen Python-Skript erstellen können, ohne HTML / CSS / JavaScript schreiben zu müssen. Das Frontend wird mit "React" + "Bootstrap" erstellt, und es kann gesagt werden, dass es fast die gleiche Art von Framework wie "Dash" ist, einschließlich des Punktes, dass das Python-Skript allein in Ordnung ist.

Im Vergleich zu "Dash" hat "Streamlit" nicht die Flexibilität, den Stil und das Seitenlayout frei zu bestimmen. Es gibt keine API, die in benutzerdefiniertes CSS und benutzerdefinierte Stile eingefügt werden kann, und das Seitenlayout wird durch das Seitenmenü und die Textvorlage festgelegt. Mit anderen Worten, da die Framework-Seite die Spezifikationen einschließlich des Designs definiert, können Sie sich mehr als "Dash" auf das Schreiben von Skripten für die Hauptverarbeitung der Datenverarbeitung und -analyse konzentrieren, ohne die Kosten für das Design zu tragen.

"Dash" ist auch ein Webanwendungsframework für "Plotly", aber "Streamlit" unterstützt die folgenden Diagrammbibliotheken.

Plotly ist nicht so sehr, Sie können sogar in jedem Fall eine Webanwendung erstellen.

Testen Sie das Schreiben von Memos

Installation

$ pip install streamlit

Start der Demoseite

$ streamlit hello

Die Demoseite wird unter http: // localhost: 8501 / gestartet.

image.png

Schreiben Sie ein Skript

Schreiben Sie ein Beispielskript "qiita.py", das die Daten für "Plotly Express" darstellt. Es ist ziemlich einfach.

qiita.py


import streamlit as st
import plotly.express as px
import plotly.io as pio

# data
data = px.data.iris()

# sidemenu
st.sidebar.markdown(
    "# Qiita sample"
)
template = st.sidebar.selectbox(
    "Template", list(pio.templates.keys())
)

# body
st.write(
    px.scatter(data, x="sepal_width", y="sepal_length", template=template)
)

In dem Verzeichnis, in dem sich qiita.py befindet

$ streamlit run qiita.py

Startet die Anwendung unter http: // localhost: 8501 /.

image.png

Wenn Sie in "Dash" schreiben, können Sie schnell HTML-Komponenten schreiben, und ich denke, dass sich die Codemenge verdoppeln wird.

Tips

Ich werde es von Zeit zu Zeit aktualisieren.

Wenn Sie den Stil wirklich ändern möchten

Erstellen Sie eine Markdown-Komponente mit "st.markdown" und schreiben Sie das "