Cómo visualizar datos de archivos CSV en gráficos y diagramas usando pandas

La visualización de datos de archivos CSV usando Pandas es una técnica importante para realizar análisis de datos y tomar decisiones de manera rápida y eficiente. Al representar los datos visualmente, es fácil identificar tendencias y patrones, lo que la hace útil en análisis de negocios, investigaciones científicas y proyectos académicos. Este artículo comienza con las operaciones básicas para cargar datos CSV en Pandas y luego explica cómo visualizar esos datos de manera atractiva y comprensible utilizando bibliotecas como Matplotlib y Seaborn. Aprovecha este artículo para mejorar tus habilidades de análisis de datos utilizando Python.

Índice

Cargar un archivo CSV y obtener un resumen de los datos


Usando Pandas para cargar archivos CSV, puedes comenzar a analizar los datos de manera eficiente. A continuación, se detallan los pasos para cargar un archivo CSV y obtener un resumen de los datos.

Cargar un archivo CSV


Utiliza la función read_csv() de Pandas para cargar un archivo CSV. Por ejemplo, si deseas cargar un archivo llamado data.csv, utiliza el siguiente código.

import pandas as pd

# Cargar el archivo CSV
df = pd.read_csv('data.csv')

# Mostrar las primeras filas del DataFrame
print(df.head())

Este código carga los datos del archivo CSV en un DataFrame de Pandas y muestra las primeras cinco filas para su revisión.

Ver un resumen de los datos


Para obtener una comprensión básica de la estructura de los datos y las estadísticas clave, puedes utilizar los siguientes métodos.

  1. Ver el número de filas y columnas
   print(df.shape)
   # Salida: (número de filas, número de columnas)
  1. Ver los tipos de datos y los valores faltantes
   print(df.info())
  1. Ver estadísticas básicas
   print(df.describe())
  1. Ver valores únicos de una columna específica
   print(df['NombreDeColumna'].unique())  # Muestra los valores únicos de la columna
   print(df['NombreDeColumna'].value_counts())  # Cuenta la frecuencia de aparición de los valores

Estas técnicas te permiten obtener una comprensión general de los datos, preparándote para los próximos pasos en la visualización.

Crear gráficos básicos usando Matplotlib


Combinando Pandas con Matplotlib, puedes visualizar fácilmente datos CSV. A continuación, se explican los métodos para crear gráficos básicos.

Configuración de Matplotlib


Primero, importa Matplotlib. Usando el módulo pyplot, puedes crear gráficos fácilmente.

import matplotlib.pyplot as plt

# Usar el DataFrame df ya cargado
df = pd.read_csv('data.csv')

Crear un gráfico de líneas


Un gráfico de líneas es útil para visualizar datos temporales o continuos.

# Graficar los datos de ventas con fecha en el eje X
plt.plot(df['Fecha'], df['Ventas'])
plt.title('Evolución de las ventas')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.xticks(rotation=45)  # Rotar las etiquetas del eje X
plt.show()

Crear un gráfico de barras


Un gráfico de barras es ideal para visualizar los valores por categoría.

# Agrupar las ventas por categoría y graficarlas en barras
categoria_ventas = df.groupby('Categoría')['Ventas'].sum()
categoria_ventas.plot(kind='bar', color='skyblue')
plt.title('Ventas por categoría')
plt.xlabel('Categoría')
plt.ylabel('Ventas')
plt.show()

Crear un gráfico de dispersión


Para visualizar la correlación entre dos variables, utiliza un gráfico de dispersión.

# Graficar la relación entre precio y ventas
plt.scatter(df['Precio'], df['Ventas'], alpha=0.7, color='green')
plt.title('Correlación entre precio y ventas')
plt.xlabel('Precio')
plt.ylabel('Ventas')
plt.show()

Crear un histograma


Un histograma es útil para examinar la distribución de los datos.

# Graficar la distribución de las ventas
df['Ventas'].plot(kind='hist', bins=20, color='orange', edgecolor='black')
plt.title('Distribución de ventas')
plt.xlabel('Ventas')
plt.ylabel('Frecuencia')
plt.show()

Utilizando estos gráficos, puedes entender visualmente las características de los datos. Ahora, vamos a aprender sobre visualización avanzada usando Seaborn.

Uso de Seaborn para visualización avanzada


Seaborn es una biblioteca que facilita la creación de gráficos de alta calidad en combinación con Pandas y Matplotlib. Permite crear gráficos complejos y estilizados de forma intuitiva. A continuación, exploramos cómo usar Seaborn para visualizaciones más avanzadas.

Configuración de Seaborn


Primero, importa Seaborn y establece el estilo.

import seaborn as sns

# Establecer el estilo
sns.set(style="whitegrid")  
df = pd.read_csv('data.csv')  # Cargar los datos

Visualización de datos categóricos: diagrama de caja


El diagrama de caja es útil para visualizar la distribución de los datos por categoría.

# Visualizar la distribución de ventas por categoría
sns.boxplot(x='Categoría', y='Ventas', data=df, palette='pastel')
plt.title('Distribución de ventas por categoría')
plt.xlabel('Categoría')
plt.ylabel('Ventas')
plt.show()

Visualización de correlación: diagrama de dispersión con línea de regresión


Usando regplot de Seaborn, puedes agregar una línea de regresión a un gráfico de dispersión.

# Graficar la relación entre precio y ventas con una línea de regresión
sns.regplot(x='Precio', y='Ventas', data=df, scatter_kws={'alpha':0.6}, line_kws={'color':'red'})
plt.title('Correlación entre precio y ventas')
plt.xlabel('Precio')
plt.ylabel('Ventas')
plt.show()

Visualización de la distribución de los datos: mapa de calor


Para visualizar la matriz de correlación de los datos, usa un mapa de calor.

# Calcular la matriz de correlación
matriz_correlacion = df.corr()

# Crear el mapa de calor
sns.heatmap(matriz_correlacion, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('Mapa de calor de la matriz de correlación')
plt.show()

Relación entre categorías y valores numéricos: diagrama de violín


Un diagrama de violín representa suavemente la distribución de los datos por categoría.

# Graficar la distribución de ventas por categoría con un diagrama de violín
sns.violinplot(x='Categoría', y='Ventas', data=df, palette='muted', inner='quartile')
plt.title('Distribución de ventas por categoría (diagrama de violín)')
plt.xlabel('Categoría')
plt.ylabel('Ventas')
plt.show()

Destacar tendencias en los datos: diagrama de conteo


Para visualizar la frecuencia de aparición de los datos categóricos, usa un diagrama de conteo.

# Graficar la frecuencia de las categorías de productos
sns.countplot(x='Categoría', data=df, palette='viridis')
plt.title('Frecuencia de categorías de productos')
plt.xlabel('Categoría')
plt.ylabel('Frecuencia')
plt.show()

Con los gráficos refinados de Seaborn, puedes profundizar aún más en los patrones de los datos. A continuación, aprenderemos cómo extraer columnas específicas para visualizarlas.

Visualización de datos extraídos de columnas específicas


En el análisis de datos, es importante extraer datos basados en columnas o condiciones específicas para visualizarlos. A continuación, se muestra cómo filtrar datos usando Pandas y crear gráficos adecuados.

Extraer columnas específicas para graficar


Para visualizar datos enfocados en una columna específica, selecciona el nombre de la columna en el DataFrame.

# Graficar solo los datos de ventas en un histograma
df['Ventas'].plot(kind='hist', bins=15, color='skyblue', edgecolor='black')
plt.title('Distribución de ventas')
plt.xlabel('Ventas')
plt.ylabel('Frecuencia')
plt.show()

Graficar la combinación de varias columnas


Selecciona varias columnas para visualizar su correlación.

# Graficar la relación entre ventas y precio con un diagrama de dispersión
plt.scatter(df['Precio'], df['Ventas'], color='green', alpha=0.6)
plt.title('Correlación entre precio y ventas')
plt.xlabel('Precio')
plt.ylabel('Ventas')
plt.show()

Visualización de datos basada en condiciones


Filtra los datos según condiciones y visualiza los resultados para realizar un análisis más detallado de grupos de datos específicos.

# Extraer datos con ventas mayores o iguales a 1000
ventas_altas = df[df['Ventas'] >= 1000]
plt.plot(ventas_altas['Fecha'], ventas_altas['Ventas'], marker='o', color='orange')
plt.title('Evolución de las ventas mayores a 1000')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.xticks(rotation=45)
plt.show()

Agrupación de datos y visualización


Agrupa los datos por categoría o atributo específico y visualiza los resultados.

# Calcular el promedio de ventas por categoría
ventas_promedio_categoria = df.groupby('Categoría')['Ventas'].mean()

# Graficar en barras
ventas_promedio_categoria.plot(kind='bar', color='coral')
plt.title('Ventas promedio por categoría')
plt.xlabel('Categoría')
plt.ylabel('Ventas promedio')
plt.show()

Extracción y visualización con múltiples condiciones


Aplica múltiples condiciones para extraer datos más específicos y visualizarlos.

# Extraer datos con ventas mayores a 1000 y precio menor a 500
datos_filtrados = df[(df['Ventas'] >= 1000) & (df['Precio'] < 500)]

# Graficar la relación con un diagrama de dispersión
plt.scatter(datos_filtrados['Precio'], datos_filtrados['Ventas'], color='purple', alpha=0.7)
plt.title('Relación entre ventas mayores a 1000 y precio menor a 500')
plt.xlabel('Precio')
plt.ylabel('Ventas')
plt.show()

Esto permite un análisis más profundo de los datos, destacando patrones clave. A continuación, exploraremos cómo visualizar datos de series temporales.

Métodos para graficar datos de series temporales


Los datos de series temporales son importantes para analizar tendencias y estacionalidades basadas en el tiempo. A continuación, te mostramos cómo graficar estos datos eficazmente usando Pandas y herramientas de visualización.

Preparación de los datos de series temporales


Primero, convierte la columna de fechas a formato datetime de Pandas para aprovechar las funcionalidades de series temporales.

# Convertir la columna de fechas a formato datetime
df['Fecha'] = pd.to_datetime(df['Fecha'])

# Ordenar el DataFrame por fecha
df = df.sort_values('Fecha')

# Establecer la fecha como índice (opcional)
df.set_index('Fecha', inplace=True)

Graficar datos de una serie temporal


Usa un gráfico de líneas para visualizar los datos de series temporales.

# Graficar las ventas a lo largo del tiempo
df['Ventas'].plot(figsize=(10, 5), color='blue', linewidth=2)
plt.title('Evolución de las ventas')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.grid(True)
plt.show()

Comparar múltiples series temporales


Compara varias series temporales en un mismo gráfico.

# Graficar ventas y ganancias en el mismo gráfico
df[['Ventas', 'Ganancias']].plot(figsize=(10, 5), linewidth=2)
plt.title('Evolución de ventas y ganancias')
plt.xlabel('Fecha')
plt.ylabel('Monto')
plt.legend(['Ventas', 'Ganancias'])
plt.grid(True)
plt.show()

Analizar estacionalidad y tendencias


Si los datos de series temporales tienen estacionalidad o tendencias, puedes descomponerlos y analizarlos.

from statsmodels.tsa.seasonal import seasonal_decompose

# Descomponer la serie temporal de ventas
decomposicion = seasonal_decompose(df['Ventas'], model='additive', period=12)

# Graficar los componentes (tendencia, estacionalidad, residual)
decomposicion.plot()
plt.show()

Graficar datos dentro de un período específico


Extrae datos de un período específico y grafícalos.

# Extraer y graficar los datos de 2023
df_2023 = df['2023']
df_2023['Ventas'].plot(figsize=(10, 5), color='green', linewidth=2)
plt.title('Evolución de las ventas en 2023')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.grid(True)
plt.show()

Personalización de visualizaciones


Añade marcadores y anotaciones para destacar ciertos puntos en un gráfico de series temporales.

# Añadir marcador a los datos de ventas
plt.plot(df.index, df['Ventas'], marker='o', color='red', linewidth=2)
plt.title('Evolución de las ventas (con marcadores)')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.grid(True)

# Añadir anotación en la fecha con mayor venta
fecha_pico = df['Ventas'].idxmax()  # Fecha con la mayor venta
valor_pico = df['Ventas'].max()
plt.annotate(f'Máxima venta: {valor_pico}', xy=(fecha_pico, valor_pico), xytext=(fecha_pico, valor_pico + 100),
             arrowprops=dict(facecolor='black', arrowstyle='->'), fontsize=10)

plt.show()

Gráfico interactivo de series temporales


Para crear gráficos interactivos, usa bibliotecas como Plotly.

import plotly.express as px

# Graficar las ventas de forma interactiva
fig = px.line(df.reset_index(), x='Fecha', y='Ventas', title='Evolución de las ventas')
fig.show()

Estas técnicas permiten graficar y analizar efectivamente los datos de series temporales, ayudando a identificar tendencias y estacionalidades. A continuación, discutiremos cómo graficar múltiples diagramas simultáneamente.

Cómo graficar múltiples diagramas simultáneamente


Al mostrar varios gráficos al mismo tiempo, puedes comparar los datos desde diferentes perspectivas. A continuación, explicamos cómo usar Matplotlib y Seaborn para graficar varios diagramas a la vez.

Graficar múltiples diagramas con Matplotlib


Usando subplot de Matplotlib, puedes dibujar varios gráficos en una sola figura.

import matplotlib.pyplot as plt

# Crear una figura con 2 filas y 2 columnas
fig, axes = plt.subplots(2, 2, figsize=(12, 8))

# Gráfico 1: Evolución de las ventas
axes[0, 0].plot(df.index, df['Ventas'], color='blue', linewidth=2)
axes[0, 0].set_title('Evolución de las ventas')
axes[0, 0].set_xlabel('Fecha')
axes[0, 0].set_ylabel('Ventas')

# Gráfico 2: Evolución de las ganancias
axes[0, 1].plot(df.index, df['Ganancias'], color='green', linewidth=2)
axes[0, 1].set_title('Evolución de las ganancias')
axes[0, 1].set_xlabel('Fecha')
axes[0, 1].set_ylabel('Ganancias')

# Gráfico 3: Distribución de las ventas (histograma)
axes[1, 0].hist(df['Ventas'], bins=15, color='orange', edgecolor='black')
axes[1, 0].set_title('Distribución de ventas')
axes[1, 0].set_xlabel('Ventas')
axes[1, 0].set_ylabel('Frecuencia')

# Gráfico 4: Correlación entre precio y ventas (diagrama de dispersión)
axes[1, 1].scatter(df['Precio'], df['Ventas'], color='purple', alpha=0.7)
axes[1, 1].set_title('Correlación entre precio y ventas')
axes[1, 1].set_xlabel('Precio')
axes[1, 1].set_ylabel('Ventas')

# Ajuste de la disposición
plt.tight_layout()
plt.show()

Dibujar múltiples gráficos con Seaborn


Usando FacetGrid de Seaborn, puedes dividir los datos por categoría y graficar varios gráficos.

import seaborn as sns

# Graficar las ventas por categoría
g = sns.FacetGrid(df, col="Categoría", col_wrap=3, height=4)
g.map(sns.lineplot, "Fecha", "Ventas")
g.set_titles("{col_name}")
g.set_axis_labels("Fecha", "Ventas")
plt.show()

Superponer diferentes tipos de gráficos en una figura


Superpone diferentes tipos de gráficos en una figura para comparar los datos.

fig, ax1 = plt.subplots(figsize=(10, 6))

# Graficar las ventas en un gráfico de líneas
ax1.plot(df.index, df['Ventas'], color='blue', label='Ventas')
ax1.set_xlabel('Fecha')
ax1.set_ylabel('Ventas', color='blue')
ax1.tick_params(axis='y', labelcolor='blue')

# Superponer las ganancias en un gráfico de barras
ax2 = ax1.twinx()  # Crear un segundo eje Y
ax2.bar(df.index, df['Ganancias'], color='orange', alpha=0.6, label='Ganancias')
ax2.set_ylabel('Ganancias', color='orange')
ax2.tick_params(axis='y', labelcolor='orange')

# Título y leyenda
fig.suptitle('Comparación de ventas y ganancias')
fig.legend(loc='upper left', bbox_to_anchor=(0.1, 0.9))
plt.show()

Guardar gráficos individuales


Para guardar cada gráfico por separado, usa savefig() en cada gráfico.

# Guardar la evolución de las ventas
df['Ventas'].plot()
plt.title('Evolución de las ventas')
plt.savefig('evolucion_ventas.png')
plt.clf()  # Limpiar el gráfico actual

# Guardar la distribución de las ventas
df['Ventas'].plot(kind='hist', bins=15, color='orange', edgecolor='black')
plt.title('Distribución de ventas')
plt.savefig('distribucion_ventas.png')
plt.clf()

Graficar múltiples gráficos interactivos


Usa Plotly para crear gráficos interactivos con múltiples subgráficos.

import plotly.subplots as sp
import plotly.graph_objects as go

# Crear subgráficos
fig = sp.make_subplots(rows=2, cols=2, subplot_titles=("Ventas", "Ganancias", "Distribución de ventas", "Correlación precio-ventas"))

# Graficar las ventas
fig.add_trace(go.Scatter(x=df.index, y=df['Ventas'], name='Ventas'), row=1, col=1)

# Graficar las ganancias
fig.add_trace(go.Scatter(x=df.index, y=df['Ganancias'], name='Ganancias'), row=1, col=2)

# Graficar la distribución de ventas
fig.add_trace(go.Histogram(x=df['Ventas'], name='Distribución de ventas'), row=2, col=1)

# Graficar la correlación entre precio y ventas
fig.add_trace(go.Scatter(x=df['Precio'], y=df['Ventas'], mode='markers', name='Precio vs Ventas'), row=2, col=2)

# Ajustar el diseño
fig.update_layout(title_text="Comparación de múltiples gráficos", showlegend=False, height=800)
fig.show()

Al graficar múltiples diagramas simultáneamente, puedes realizar un análisis combinado desde diferentes perspectivas. A continuación, explicaremos cómo personalizar los gráficos.

Métodos de personalización de gráficos (colores, estilos, anotaciones, etc.)


Para hacer los gráficos más claros y ricos en información, es importante personalizar correctamente los colores, estilos y anotaciones. A continuación, presentamos métodos para personalizar gráficos, utilizando Matplotlib como base.

Cambiar colores y estilos


Cambiar los colores y estilos de los gráficos puede mejorar la visibilidad.

import matplotlib.pyplot as plt

# Personalización básica
plt.plot(df.index, df['Ventas'], color='blue', linestyle='--', linewidth=2, label='Ventas')
plt.plot(df.index, df['Ganancias'], color='green', linestyle='-', linewidth=2, label='Ganancias')

# Título y etiquetas de los ejes
plt.title('Evolución de ventas y ganancias', fontsize=16, fontweight='bold')
plt.xlabel('Fecha', fontsize=12)
plt.ylabel('Monto', fontsize=12)

# Añadir leyenda
plt.legend(fontsize=10, loc='upper left')

# Añadir cuadrícula
plt.grid(color='gray', linestyle=':', linewidth=0.5)

plt.show()

Ajustar fuentes y tamaños


Modificar el tamaño y el estilo de la fuente dentro del gráfico mejora la visibilidad.

# Cambiar el tamaño de la fuente global
plt.rcParams.update({'font.size': 12})

# Cambiar solo algunos elementos
plt.title('Título personalizado', fontsize=16, fontweight='bold')
plt.xlabel('Fecha', fontsize=12, fontstyle='italic')
plt.ylabel('Ventas', fontsize=12, fontstyle='italic')

Añadir anotaciones


Para resaltar ciertos puntos de datos, puedes añadir anotaciones.

# Mostrar el pico de ventas con una anotación
fecha_pico = df['Ventas'].idxmax()
valor_pico = df['Ventas'].max()

plt.plot(df.index, df['Ventas'], color='blue')
plt.annotate(f'Pico: {valor_pico}', 
             xy=(fecha_pico, valor_pico), 
             xytext=(fecha_pico, valor_pico + 500),
             arrowprops=dict(facecolor='red', arrowstyle='->'),
             fontsize=10, color='darkred')

plt.title('Pico de ventas con anotación')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.grid(True)
plt.show()

Usar mapas de color


Usa mapas de color para cambiar los colores según los valores.

# Aplicar un mapa de colores en el diagrama de dispersión de ventas
plt.scatter(df['Precio'], df['Ventas'], c=df['Ventas'], cmap='viridis', alpha=0.8)
plt.title('Precio vs Ventas (Mapa de color)')
plt.xlabel('Precio')
plt.ylabel('Ventas')
plt.colorbar(label='Ventas')
plt.show()

Ajustar la disposición de los subgráficos


Ajusta la disposición de varios gráficos en una figura para mejorar la presentación.

fig, axes = plt.subplots(2, 2, figsize=(12, 8))

# Dibujar cada gráfico
axes[0, 0].plot(df.index, df['Ventas'], color='blue')
axes[0, 0].set_title('Evolución de ventas')

axes[0, 1].plot(df.index, df['Ganancias'], color='green')
axes[0, 1].set_title('Evolución de ganancias')

axes[1, 0].hist(df['Ventas'], bins=15, color='orange')
axes[1, 0].set_title('Distribución de ventas')

axes[1, 1].scatter(df['Precio'], df['Ventas'], color='purple', alpha=0.7)
axes[1, 1].set_title('Correlación precio-ventas')

# Ajuste de la disposición
plt.tight_layout()
plt.show()

Cambiar el tema del gráfico


Seaborn te permite cambiar el tema de todo el gráfico para unificar su estilo.

import seaborn as sns

# Configurar el tema
sns.set_theme(style="whitegrid", palette="muted")

# Graficar la evolución de ventas
sns.lineplot(x=df.index, y=df['Ventas'], color='blue', label='Ventas')
sns.lineplot(x=df.index, y=df['Ganancias'], color='green', label='Ganancias')

plt.title('Evolución de ventas y ganancias (con tema)')
plt.xlabel('Fecha')
plt.ylabel('Monto')
plt.legend()
plt.show()

Guardar los gráficos


Guarda los gráficos creados como archivos de imagen.

# Guardar el gráfico
plt.plot(df.index, df['Ventas'], color='blue', label='Ventas')
plt.title('Evolución de ventas')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.legend()
plt.savefig('evolucion_ventas.png', dpi=300, bbox_inches='tight')  # Guardar en alta resolución
plt.show()

Combinando estas técnicas, puedes crear gráficos visualmente atractivos. A continuación, exploraremos cómo guardar los datos visualizados como archivos de imagen.

Cómo guardar los datos visualizados (salida en archivos de imagen)


Es importante guardar los gráficos visualizados como archivos de imagen para compartir los resultados del análisis o usarlos en informes. A continuación, mostramos cómo guardar gráficos usando Matplotlib y opciones de personalización.

Método básico de guardado


Usa la función savefig() de Matplotlib para guardar un gráfico como archivo de imagen. Aquí tienes un ejemplo básico de código.

import matplotlib.pyplot as plt

# Crear el gráfico
plt.plot(df.index, df['Ventas'], color='blue', label='Ventas')
plt.title('Evolución de las ventas')
plt.xlabel('Fecha')
plt.ylabel('Ventas')
plt.legend()

# Guardar el gráfico como imagen
plt.savefig('evolucion_ventas.png')
plt.show()


Este código guarda el gráfico actual como un archivo PNG llamado evolucion_ventas.png.

Especificar el formato de imagen


Matplotlib puede guardar gráficos no solo en formato PNG, sino también en formatos JPEG, PDF, SVG y otros.

# Guardar en formato JPEG
plt.savefig('evolucion_ventas.jpg', format='jpg')

# Guardar en formato PDF
plt.savefig('evolucion_ventas.pdf', format='pdf')

# Guardar en formato SVG
plt.savefig('evolucion_ventas.svg', format='svg')

Configurar la resolución (DPI)


Configura la resolución de la imagen para guardar gráficos de mayor calidad.

# Guardar con alta resolución (300 DPI)
plt.savefig('evolucion_ventas_high_res.png', dpi=300)

Ajustar los márgenes


De forma predeterminada, los gráficos tienen márgenes alrededor. Usa bbox_inches='tight' para ajustarlos.

# Eliminar márgenes y guardar
plt.savefig('evolucion_ventas_tight.png', bbox_inches='tight')

Guardar múltiples gráficos


Guarda cada gráfico de forma individual.

# Guardar gráfico 1: Ventas
plt.plot(df.index, df['Ventas'], color='blue')
plt.title('Evolución de las ventas')
plt.savefig('grafico_ventas.png')
plt.clf()  # Limpiar el gráfico actual

# Guardar gráfico 2: Ganancias
plt.plot(df.index, df['Ganancias'], color='green')
plt.title('Evolución de las ganancias')
plt.savefig('grafico_ganancias.png')
plt.clf()

Guardar gráficos interactivos


Guarda gráficos interactivos creados con Plotly en formato HTML.

import plotly.express as px

# Graficar ventas interactivas
fig = px.line(df.reset_index(), x='Fecha', y='Ventas', title='Evolución de las ventas')

# Guardar como archivo HTML
fig.write_html('grafico_interactivo_ventas.html')

Verificación después de guardar


Puedes agregar código para abrir la imagen guardada dentro de Python.

from PIL import Image

# Abrir la imagen guardada
img = Image.open('evolucion_ventas.png')
img.show()

Estas técnicas te permitirán guardar y compartir los gráficos creados de manera efectiva. A continuación, se presenta el resumen del artículo.

Resumen


Este artículo explicó cómo visualizar datos de archivos CSV utilizando la biblioteca Pandas en Python. Cubrió desde la carga de datos, la creación de gráficos básicos, la visualización de datos de series temporales, la comparación de gráficos múltiples, hasta la personalización y guardado de gráficos.

La visualización de datos es una habilidad clave para comunicar información de manera efectiva. Usando Pandas, Matplotlib y Seaborn, puedes descubrir fácilmente patrones y tendencias en tus datos. Además, al guardar gráficos e interactuar con ellos, puedes compartir y presentar tus resultados de manera más efectiva.

Aprovecha estas técnicas para realizar análisis de datos y presentaciones de manera más eficiente.

Índice