Tipos de Gráficos¶
En estadística, un gráfico es una representación visual de datos que permite resumir, analizar y comunicar información de manera efectiva. Los gráficos se utilizan ampliamente en estadística para mostrar patrones, tendencias, distribuciones y relaciones entre variables.
Algunos de los tipos de gráficos más comunes utilizados en estadística incluyen:
Gráfico de Línea¶
Un gráfico de líneas es un tipo de gráfico que utiliza una o varias líneas para mostrar la relación entre dos o más variables. Es comúnmente utilizado en estadística para representar datos numéricos a lo largo de un eje horizontal y vertical, y para observar tendencias o cambios en los datos a lo largo del tiempo o de una escala continua.
En un gráfico de líneas, cada punto representa el valor de una variable en un momento determinado. Estos puntos se unen mediante una línea, lo que permite visualizar la tendencia general de los datos. Además, se pueden añadir múltiples líneas en un mismo gráfico para comparar diferentes series de datos y observar las diferencias en su comportamiento a lo largo del tiempo o de una escala continua.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 12, 15, 20, 22]
plt.plot(x, y)
plt.xlabel('Eje x')
plt.ylabel('Eje y')
plt.title('Gráfico de líneas')
plt.show()
Gráfico de dispersión¶
Un gráfico de dispersión es un tipo de gráfico que muestra la relación entre dos variables numéricas. En este tipo de gráfico, cada punto en el eje horizontal representa un valor de la primera variable, y cada punto en el eje vertical representa un valor de la segunda variable. Los puntos se distribuyen en el gráfico según los valores que tienen en ambas variables.
Los gráfico de dispersión son útiles para observar si existe una relación entre dos variables y cómo se relacionan entre sí. Si los puntos están agrupados de manera que forman una línea o una curva, esto sugiere una relación entre las dos variables. Si los puntos están dispersos aleatoriamente, esto sugiere que no hay una relación clara entre las dos variables.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 12, 15, 20, 22]
plt.scatter(x, y)
plt.xlabel('Eje x')
plt.ylabel('Eje y')
plt.title('Diagrama de dispersión')
plt.show()
Gráfico de barras¶
Un gráfico de barras es un tipo de gráfico utilizado para representar datos numéricos mediante barras rectangulares, donde la longitud de cada barra representa la magnitud de la cantidad correspondiente. Este tipo de gráfico es útil para comparar datos entre diferentes categorías o grupos.
En un gráfico de barras, cada barra representa una categoría o grupo, y la altura o longitud de la barra representa el valor numérico de la cantidad que se está midiendo. Las barras pueden ser horizontales o verticales, dependiendo de la preferencia del usuario o de la forma en que se ajuste mejor a los datos.
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [100, 200, 150, 300, 250]
plt.bar(x, y)
plt.xlabel('Productos')
plt.ylabel('Cantidad vendida')
plt.title('Ventas por producto')
plt.show()
Histograma¶
Un histograma es un tipo de gráfico utilizado en estadística para representar la distribución de frecuencia de un conjunto de datos numéricos. En un histograma, los datos se dividen en rangos o intervalos (también conocidos como "bins" o "clases"), y se cuenta cuántas veces aparece un valor dentro de cada rango. Estas frecuencias se representan mediante barras rectangulares, donde la altura de cada barra representa la frecuencia de los valores en ese rango.
Los histogramas son útiles para visualizar la distribución de frecuencias de un conjunto de datos, lo que permite identificar patrones, tendencias y valores atípicos. También se pueden utilizar para comparar la distribución de diferentes conjuntos de datos.
import matplotlib.pyplot as plt
import numpy as np
# Crear un conjunto de datos aleatorios con una distribución normal
data = np.random.randn(10000)
# Crear el histograma con 20 bins y color verde
plt.hist(data, bins=20,edgecolor='black')
# Agregar etiquetas y título
plt.xlabel('Valores')
plt.ylabel('Frecuencia')
plt.title('Histograma de valores aleatorios')
# Mostrar el histograma
plt.show()
Heatmap¶
Un heatmap (mapa de calor en español) es un tipo de gráfico que utiliza colores para representar la magnitud de una variable en una matriz o tabla de datos. En un heatmap, cada celda de la matriz se colorea en función de su valor, de tal manera que los valores más altos se representan con colores más intensos y los valores más bajos con colores más suaves.
Los heatmaps son especialmente útiles para visualizar grandes cantidades de datos en forma de matrices, ya que permiten identificar patrones, tendencias y valores atípicos de manera más eficiente que si se utilizaran tablas numéricas. Por ejemplo, se pueden utilizar para visualizar patrones de tráfico en una red de computadoras, o para mostrar la correlación entre distintas variables en un conjunto de datos.
import matplotlib.pyplot as plt
import numpy as np
# Crear una matriz aleatoria de 5x5
data = np.random.rand(5, 5)
# Crear el heatmap con la función imshow
plt.imshow(data, cmap='Blues')
# Agregar etiquetas y título
plt.colorbar()
plt.xticks(range(5), ['A', 'B', 'C', 'D', 'E'])
plt.yticks(range(5), ['1', '2', '3', '4', '5'])
plt.xlabel('Columnas')
plt.ylabel('Filas')
plt.title('Heatmap de una matriz aleatoria')
# Mostrar el heatmap
plt.show()
Boxplot¶
Un boxplot (también conocido como diagrama de caja y bigotes) es una herramienta gráfica utilizada para representar la distribución de un conjunto de datos numéricos a través de su cuartil, valores mínimos y máximos, y outliers (datos extremos).
El boxplot se dibuja a partir de cinco estadísticas descriptivas de los datos:
- El mínimo (valor más pequeño)
- El primer cuartil (Q1) que representa el valor donde el 25% de los datos son menores y el 75% son mayores.
- La mediana (Q2), que representa el valor donde el 50% de los datos son menores y el 50% son mayores.
- El tercer cuartil (Q3) que representa el valor donde el 75% de los datos son menores y el 25% son mayores.
- El máximo (valor más grande).
El boxplot consta de una caja que se extiende desde el primer al tercer cuartil, con una línea en la caja que representa la mediana. Los "bigotes" se extienden desde la caja hasta los valores mínimo y máximo, excluyendo los outliers (datos atípicos), que se grafican como puntos fuera de los bigotes.
import matplotlib.pyplot as plt
import numpy as np
# Crear un conjunto de datos aleatorios
data = np.random.normal(0, 1, 1000)
# Crear el boxplot
plt.boxplot(data)
# Agregar etiquetas y título
plt.xlabel('Variable X')
plt.ylabel('Valores')
plt.title('Boxplot de un conjunto de datos aleatorios')
# Mostrar el boxplot
plt.show()
Con el diagrama de boxplot y el histograma, podemos analizar de mejor manera la distribución de nuestra variable.
import matplotlib.pyplot as plt
import numpy as np
# Crear un conjunto de datos aleatorios
data = np.random.normal(0, 1, 1000)
# Crear una figura con dos subplots
fig, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={"height_ratios": (.15, .85)})
# Crear el boxplot
ax_box.boxplot(data, vert=False)
# Crear el histograma
ax_hist.hist(data, bins=10, edgecolor='black')
# Agregar etiquetas y título
ax_box.set(xlabel='Variable X', ylabel='Valores')
ax_hist.set(xlabel='Variable X', ylabel='Frecuencia')
plt.suptitle('Boxplot con histograma')
# Mostrar el gráfico
plt.show()