Spaces:
Sleeping
Sleeping
import pandas as pd | |
import plotly.express as px | |
import plotly.graph_objects as go | |
import streamlit as st | |
# Carga del archivo CSV | |
df = pd.read_csv('data/po_excel_original.csv') | |
def boxplot(): | |
# Subtítulo: Boxplot de Clientes | |
st.subheader("Boxplot de Clientes") | |
# Crear un boxplot de las ventas por cliente | |
fig = go.Figure() | |
# Agregar los boxplots | |
fig.add_trace(go.Box(y=df["Total"], name="Boxplot")) | |
# Configurar el posicionamiento de los nombres de los clientes | |
pos_x = [len(df) + 2] * len(df) | |
# Agregar los puntos de los clientes y sus nombres a la leyenda | |
for i, cliente in enumerate(df["Clientes"]): | |
fig.add_trace(go.Scatter(x=pos_x, y=[df.loc[i, "Total"]], | |
mode='markers', | |
name=cliente, | |
marker=dict(color='green', size=12, | |
symbol='circle'), | |
visible='legendonly')) | |
# Configurar el diseño del boxplot y el tamaño de la figura | |
fig.update_layout( | |
yaxis=dict(title="Ventas"), | |
boxmode='group', | |
autosize=True, | |
width=900, | |
height=600, | |
legend=dict( | |
x=1.1, | |
y=0.5, | |
bgcolor='rgba(255, 255, 255, 0.5)', | |
bordercolor='rgba(0, 0, 0, 0.3)', | |
borderwidth=1 | |
) | |
) | |
# Mostrar el boxplot con los nombres de los clientes | |
st.plotly_chart(fig, use_container_width=True) | |