Pyplot bar
Aquí te explico las principales opciones del método plt.hist()
en matplotlib
, junto con ejemplos para cada una. Este método se utiliza para generar histogramas.
1. x
: Array de datos
La entrada principal del histograma, que representa los valores que se agruparán en intervalos.
- Uso: “`python import matplotlib.pyplot as plt import numpy as np
data = np.random.randn(1000) # Genera 1000 datos distribuidos normalmente plt.hist(data) plt.show()
### 2. **`bins`**: Número de barras (bins)
Controla el número de intervalos en los que se agrupan los datos.
- **Uso**:
```python
plt.hist(data, bins=50) # Más barras
plt.show()
3. range
: Rango de los datos que se incluirán
Define los límites del eje x. Los valores fuera de este rango no se incluyen.
- Uso:
plt.hist(data, bins=30, range=(-2, 2)) # Solo se muestran valores entre -2 y 2 plt.show()
4. density
: Normalización del histograma
Si es True
, normaliza el histograma de modo que el área bajo la curva sea 1 (en lugar de contar los valores, muestra la probabilidad de que los datos caigan en un intervalo).
- Uso:
plt.hist(data, bins=30, density=True) # Histograma normalizado plt.show()
5. cumulative
: Histograma acumulado
Si es True
, muestra un histograma acumulativo.
- Uso:
plt.hist(data, bins=30, cumulative=True) # Histograma acumulado plt.show()
6. color
: Color de las barras
Permite definir el color de las barras.
- Uso:
plt.hist(data, bins=30, color='green') # Histograma en verde plt.show()
7. edgecolor
: Color del borde de las barras
Permite agregar bordes a las barras y definir su color.
- Uso:
plt.hist(data, bins=30, color='blue', edgecolor='black') # Borde negro en las barras plt.show()
8. alpha
: Transparencia de las barras
Controla la transparencia de las barras (valor entre 0 y 1).
- Uso:
plt.hist(data, bins=30, color='purple', alpha=0.5) # Barras semitransparentes plt.show()
9. histtype
: Tipo de histograma
Controla cómo se dibujan las barras del histograma. Valores posibles:
'bar'
(por defecto): Barras estándar.'barstacked'
: Barras apiladas.'step'
: Líneas que rodean las barras (sin rellenar).'stepfilled'
: Similar a ‘step’, pero las barras están rellenas.
- Uso: “`python plt.hist(data, bins=30, histtype=’step’) # Barras dibujadas sin relleno plt.show()
Ejemplo con ‘barstacked’:
data1 = np.random.randn(1000) data2 = np.random.randn(1000) plt.hist([data1, data2], bins=30, histtype=’barstacked’, color=[‘blue’, ‘red’]) plt.show()
### 10. **`rwidth`**: Anchura relativa de las barras
Controla el ancho de las barras en relación con el espacio disponible (valor entre 0 y 1).
- **Uso**:
```python
plt.hist(data, bins=30, rwidth=0.8) # Barras más delgadas
plt.show()
11. align
: Alineación de las barras
Define cómo se alinean las barras con los valores de los intervalos. Puede ser:
'mid'
(por defecto): Las barras se centran en los intervalos.'left'
: Las barras empiezan desde el límite izquierdo del intervalo.'right'
: Las barras empiezan desde el límite derecho del intervalo.
- Uso:
plt.hist(data, bins=30, align='left') # Barras alineadas a la izquierda plt.show()
12. log
: Escala logarítmica en el eje y
Si es True
, convierte el eje y en una escala logarítmica.
- Uso:
plt.hist(data, bins=30, log=True) # Escala logarítmica en el eje Y plt.show()
13. orientation
: Orientación de las barras
Define si las barras son verticales u horizontales. Los valores pueden ser:
'vertical'
(por defecto): Barras verticales.'horizontal'
: Barras horizontales.
- Uso:
plt.hist(data, bins=30, orientation='horizontal') # Barras horizontales plt.show()
14. weights
: Pesos de los datos
Permite ponderar los datos asignando un peso a cada valor.
- Uso:
weights = np.ones_like(data) / len(data) plt.hist(data, bins=30, weights=weights) # Pondera los valores por su frecuencia relativa plt.show()
15. stacked
: Apilar histogramas
Si tienes varios conjuntos de datos, esta opción permite apilarlos.
- Uso:
data1 = np.random.randn(1000) data2 = np.random.randn(1000) plt.hist([data1, data2], bins=30, stacked=True) # Apilar los histogramas plt.show()
16. label
: Etiqueta de los datos
Permite añadir etiquetas a los datos que luego pueden ser mostradas en una leyenda.
- Uso:
data1 = np.random.randn(1000) data2 = np.random.randn(1000) plt.hist([data1, data2], bins=30, label=['Dataset 1', 'Dataset 2'], color=['blue', 'orange']) plt.legend() plt.show()
17. alpha
: Transparencia de las barras
Este parámetro controla la transparencia de las barras, siendo 1 completamente opaco y 0 completamente transparente.
plt.hist(data, bins=30, alpha=0.7) # Barras semitransparentes
plt.show()
Ejemplo completo utilizando varias opciones:
data = np.random.randn(1000)
plt.hist(data, bins=30, color='purple', edgecolor='black', alpha=0.7, log=False, density=True, rwidth=0.9)
plt.title('Histograma con varias opciones')
plt.xlabel('Valores')
plt.ylabel('Frecuencia')
plt.show()