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.
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.
- Ver el número de filas y columnas
print(df.shape)
# Salida: (número de filas, número de columnas)
- Ver los tipos de datos y los valores faltantes
print(df.info())
- Ver estadísticas básicas
print(df.describe())
- 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.