Spaces:
Sleeping
Sleeping
File size: 1,517 Bytes
cfc6bc9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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)
|