Matplotlib: Graficos basicos
Matplotlib es la libreria de visualizacion base en Python. Es muy flexible y permite crear practicamente cualquier tipo de grafico.
Configuracion inicial
import matplotlib.pyplot as plt
import numpy as np
# En Jupyter, mostrar graficos inline
%matplotlib inline
# Estilo (opcional)
plt.style.use('seaborn') # o 'ggplot', 'fivethirtyeight'
Grafico de lineas
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure(figsize=(10, 6)) # tamano
plt.plot(x, y, color='blue', linewidth=2, label='sin(x)')
plt.title('Funcion Seno')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()
Grafico de barras
categorias = ['A', 'B', 'C', 'D']
valores = [23, 45, 56, 78]
plt.figure(figsize=(8, 5))
plt.bar(categorias, valores, color='steelblue')
plt.title('Ventas por Categoria')
plt.xlabel('Categoria')
plt.ylabel('Ventas')
plt.show()
# Barras horizontales
plt.barh(categorias, valores)
Histograma
datos = np.random.randn(1000)
plt.figure(figsize=(8, 5))
plt.hist(datos, bins=30, color='green', alpha=0.7, edgecolor='black')
plt.title('Distribucion de Datos')
plt.xlabel('Valor')
plt.ylabel('Frecuencia')
plt.show()
Scatter plot
x = np.random.rand(50)
y = x + np.random.rand(50) * 0.5
plt.figure(figsize=(8, 6))
plt.scatter(x, y, c='red', alpha=0.6, s=100)
plt.title('Relacion X vs Y')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
Subplots: Multiples graficos
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
# Grafico 1
axes[0, 0].plot(x, np.sin(x))
axes[0, 0].set_title('Seno')
# Grafico 2
axes[0, 1].plot(x, np.cos(x))
axes[0, 1].set_title('Coseno')
# Grafico 3
axes[1, 0].bar(['A', 'B', 'C'], [10, 20, 15])
axes[1, 0].set_title('Barras')
# Grafico 4
axes[1, 1].hist(np.random.randn(100), bins=20)
axes[1, 1].set_title('Histograma')
plt.tight_layout()
plt.show()