Visualización de datos profesional: Crea gráficos

Visualización de Datos Profesional con Python: Matplotlib, Seaborn y Plotly

La visualización de datos es esencial para comunicar hallazgos de manera efectiva. En este tutorial, exploraremos las principales bibliotecas de Python para crear gráficos impactantes:

  • Matplotlib: Para visualizaciones básicas y personalizables.
  • Seaborn: Para análisis estadístico visual.
  • Plotly: Para gráficos interactivos y dashboards.

Usaremos un dataset real de ventas de una tienda online con registros diarios durante 30 días.


1. Gráficos Básicos con Matplotlib

Instalación

pip install matplotlib pandas

Ejemplos Prácticos

Gráfico de Líneas (Tendencia de Ventas)

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv('ventas.csv')

plt.plot(df['fecha'], df['ventas_totales'])
plt.xlabel('Fecha')
plt.ylabel('Ventas Totales')
plt.title('Ventas Diarias')
plt.grid(True)
plt.show()

Gráfico de Barras (Ventas por Producto)

plt.bar(df['producto'], df['ventas_producto'])
plt.xlabel('Producto')
plt.ylabel('Ventas')
plt.title('Ventas por Producto')
plt.xticks(rotation=45)
plt.show()

Scatter Plot (Relación Fecha vs Ventas)

plt.scatter(df['fecha'], df['ventas_totales'])
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.title('Distribución de Ventas')
plt.show()

2. Personalización Avanzada en Matplotlib

Colores, Estilos y Anotaciones

plt.style.use('ggplot')  # Estilo predeterminado

plt.plot(df['fecha'], df['ventas_totales'], color='purple', linestyle='--', marker='o')
plt.xlabel('Fecha', fontsize=12)
plt.ylabel('Ventas', fontsize=12)
plt.title('Ventas con Estilo Personalizado', fontweight='bold')

# Añadir anotaciones
max_venta = df['ventas_totales'].max()
fecha_max = df.loc[df['ventas_totales'] == max_venta, 'fecha'].values[0]
plt.annotate(f'Máximo: {max_venta}', xy=(fecha_max, max_venta), xytext=(10, 10), 
             textcoords='offset points', arrowprops=dict(arrowstyle='->'))

plt.show()

3. Visualización Estadística con Seaborn

Instalación

pip install seaborn

Ejemplos Clave

Histograma y KDE (Distribución de Ventas)

import seaborn as sns

sns.histplot(df['ventas_totales'], kde=True, color='skyblue')
plt.xlabel('Ventas Totales')
plt.ylabel('Frecuencia')
plt.title('Distribución de Ventas')
plt.show()

Heatmap de Correlación

corr = df.corr()
sns.heatmap(corr, annot=True, cmap='coolwarm', fmt=".2f")
plt.title('Matriz de Correlación')
plt.show()

Boxplot (Distribución por Categoría)

sns.boxplot(x='categoria', y='ventas_producto', data=df)
plt.title('Distribución de Ventas por Categoría')
plt.xticks(rotation=45)
plt.show()

4. Gráficos Interactivos con Plotly

Instalación

pip install plotly dash

Gráfico Interactivo de Series Temporales

import plotly.express as px

fig = px.line(df, x='fecha', y='ventas_totales', title='Ventas Diarias Interactivas')
fig.update_xaxes(title_text='Fecha')
fig.update_yaxes(title_text='Ventas Totales')
fig.show()

Dashboard Básico con Dash

from dash import Dash, dcc, html

app = Dash(__name__)

app.layout = html.Div([
    html.H1("Dashboard de Ventas"),
    dcc.Graph(figure=fig)
])

if __name__ == '__main__':
    app.run_server(debug=True)

5. Subplots y Layouts Avanzados

Varios Gráficos en una Figura

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))

# Gráfico 1: Barras
ax1.bar(df['producto'], df['ventas_producto'], color='orange')
ax1.set_title('Ventas por Producto')
ax1.tick_params(axis='x', rotation=45)

# Gráfico 2: Líneas
ax2.plot(df['fecha'], df['ventas_totales'], color='green')
ax2.set_title('Tendencia de Ventas')

plt.tight_layout()
plt.show()

6. Principios de Diseño en Visualización de Datos

Teoría del Color

  • Usa paletas coherentes (ej: viridis, plasma).
  • Evita colores muy saturados.

Storytelling con Datos

  • Títulos claros y descriptivos.
  • Anotaciones para resaltar insights.

Accesibilidad

  • Texto legible (tamaño y contraste).
  • Alternativas para daltónicos.

Código Final Entregable

Puedes descargar un Jupyter Notebook completo con todos los ejemplos desde este enlace.


Conclusión

Con Matplotlib, Seaborn y Plotly, puedes crear visualizaciones desde simples hasta interactivas. Recuerda:

🔹 Sé claro en lo que comunicas.
🔹 Optimiza el diseño para tu audiencia.
🔹 Experimenta con diferentes gráficos.

¡Ahora es tu turno de crear visualizaciones impactantes! 🚀


Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *