Giter Site home page Giter Site logo

streamlit's Introduction

Dashboard con Streamlit

Implementación de un dashboard con la libreria Streamlit de python

Instalación

Para instalar la librería, sólo es necesario:

1.- Crear un ambiente virtual de python, ya sea con venv o conda.

2.- Instalarlo como:

$ python -m pip install streamlit

3.- Para comprobar que se instaló correctamente, corremos el siguiente comando:

$ streamlit hello

Correr un script

Para ejecutar un script con las instrucciones del dashboard, es necesario ejecutarlo de la siguiente forma:

$ streamlit run main.py

Instrucciones básicas

Escribir datos en el dashboard

Streamlit puede imprimir dentro del dashboard texto con formato Markdown o LaTeX, incluyendo los encabezados, negritas, cursivas, listas y todo lo que en Markdown se puede hacer, con la instrucción:

import streamlit as st

st.write("# Texto en Markdown")

Sin embargo, con la sola instrucción de write, se puede imprimir de forma automática otros objetos, tales como strings, DataFrames, objetos de numpy, información de Keras, etc, o cualquier otro objeto definido por el usuario, siempre que tengan definido el método __str__.

Dibujar gráficos

Para dibujar un gráfico a partir de un Pandas.DataFrame, utilizamos la siguiente instrucción:

st.line_chart(Pandas.DataFrame)

Si bien, es rápido para explorar lo datos, no es tan personalizable. La ventaja es que genera gráficos interactuables.

Agregar una barra lateral

Podemos agregar elementos a una barra lateral, sencillamente agregando a cada elemento la palabra sidebar antes de invocar al método. Esto es:

# Escribir:
st.sidebar.slider()
# en lugar de:
st.slider()

Agregando cajas de selección, bolitas de selección o listas de selección

Podemos agregar objetos para seleccionar opciones, por ejemplo:

Cajas de selección

estado = st.checkbox('Soy una opción')

Lo que regresa es una variable booleana que es True cuando la caja se selección es seleccionada, o False si no es seleccionada. Este resultado puede ser usado en if para disparar acciones.

Bolitas de selección

opcion = st.radio(label='Nombre de la lista',
                  options=("opción 1",
                           "opción 2",
                           "opción 3",
                           "opción 4"))

Lista de selección

opcion = st.selectbox(label='¿Qué quieres visualizar?',
                      options=("opción 1",
                               "opción 2",
                               "opción 3",
                               "opción 4"))

El parámetro options en ambos casos acepta objetos iterables. Al seleccionar un elemento, guarda la opción en una variable, que puede ser utilizada más adelante por otros elementos.

Botones Se puede agregar botones, que regresan como resultado de clickearlo, un valor booleano que servirá para disparar acciones dentro de bloques if-else

boton = st.button('¡Enviar!')

Para más info sobre los widgets que se pueden agregar para adicionar funcionalidad, se puede consultar en las referencias.

Presentar los elementos en diferentes columnas

Podemos dividir los elementos por columnas. Con la siguiente instrucción, instanciamos el área de dos columnas y podemos agregar elementos indivuduales en cada una de ellas, somo si fuera un sidebar o utilizando un bloque de contexto with

left_column, right_column = st.columns(2)

with left_column:
    opcion = st.selectbox...

right_column.button("Estoy a la derecha")

Referencia

streamlit's People

Contributors

alexini-mv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.