Páginas

sábado, 2 de diciembre de 2023

¿ Qué es Matplotlib ?

  1. Biblioteca de Visualización de Datos : Permite crear gráficos estáticos, animados e interactivos en Python.
  2. Basada en NumPy : Funciona bien con arrays de NumPy, que es una biblioteca para manipulación numérica.
  3. Versátil : Puedes hacer gráficos de líneas, barras, histogramas, diagramas de dispersión, etc.
  4. Personalizable : permite ajustar colores, estilos y más detalles para hacer los gráficos informativos y atractivos.
  5. Multiplataforma : Funciona en varios sistemas operativos y entornos de desarrollo.

Mejores usos de Matplotlib

  1. Visualización de Datos para Análisis : Ayuda a entender tendencias, patrones y correlaciones.
  2. Presentación de Resultados Científicos : Ideal para mostrar resultados de experimentos o estudios.
  3. Educación : Enseñar conceptos de matemáticas y ciencia de datos.
  4. Desarrollo de Dashboards e Informes : Para mostrar datos de forma gráfica en aplicaciones web y reportes.

Ejemplos básicos

Voy a mostrarte algunos ejemplos sencillos para ilustrar cómo se utiliza Matplotlib.

Ejemplo 1: Gráfico de Líneas

Un gráfico de líneas es útil para mostrar la tendencia de un conjunto de datos a lo largo del tiempo.

Codigo ejecutado en Google Colaboratory:

import matplotlib.pyplot as plt
import numpy as np

# Datos para el gráfico
x = np.linspace(0, 10, 100)  # 100 puntos entre 0 y 10
y = np.sin(x)  # Seno de esos puntos

# Crear el gráfico de líneas
plt.figure(figsize=(8, 4))  # tamaño del gráfico
plt.plot(x, y, label='sin(x)', color='blue')
# gráfico de línea con etiqueta y color

# Personalización
plt.title('Gráfico de Líneas - Seno de X')  # título del gráfico
plt.xlabel('X')  # etiqueta del eje X
plt.ylabel('sin(X)')  # etiqueta del eje Y
plt.grid(True)  # activar la cuadrícula
plt.legend()  # mostrar leyenda

# Mostrar el gráfico
plt.show()


Aquí tienes un ejemplo básico y detallado de un gráfico de líneas en Python utilizando Matplotlib. En este gráfico, se muestra la función seno (x)pecado())

  • Se generan 100 puntos equidistantes entre 0 y 10 en el eje X utilizando np.linspace.
  • Se calcula el seno de estos puntos para obtener los valores en el eje Y.
  • Se crea el gráfico de líneas con plt.plot, especificando la etiqueta y el color.
  • Se añaden un título, etiquetas para los ejes X e Y, y se activa la cuadrícula para mejorar la legibilidad.
  • Finalmente, se muestra una leyenda y se presenta el gráfico.

Este ejemplo ilustra cómo se puede crear un gráfico de líneas simple pero informativo en Python, que puede ser muy útil para visualizar funciones matemáticas o tendencias en los datos.

Ejemplo 2: Gráfico de barras

import matplotlib.pyplot as plt

# Datos para el gráfico de barras
categorias = ['Categoría A', 'Categoría B', 'Categoría C']
valores = [50, 30, 70]

# Crear el gráfico de barras
plt.figure(figsize=(7, 4))  # tamaño del gráfico
plt.bar(categorias, valores, color=['red', 'green', 'blue'])
# barras con diferentes colores

# Personalización
plt.title('Ejemplo de Gráfico de Barras')  # título del gráfico
plt.xlabel('Categorías')  # etiqueta del eje X
plt.ylabel('Valores')  # etiqueta del eje Y

# Mostrar el gráfico
plt.show()

Aquí tienes un ejemplo de un gráfico de barras en Python utilizando Matplotlib. Este gráfico muestra valores para tres categorías diferentes, cada una representada por una barra de un color distinto:

  • Los datos consisten en tres categorías (A, B, C) y sus valores correspondientes (50, 30, 70).
  • Se crea un gráfico de barras con plt.bar, asignando un color diferente a cada barra.
  • Se agregarán un título y etiquetas para los ejes X e Y para mejorar la comprensión del gráfico.

Ejemplo 3: Gráfico de dispersión

Este tipo de gráfico es útil para visualizar la distribución y relaciones entre dos variables. La variación en el tamaño y color de los puntos puede representar dimensiones adicionales de los datos, como la magnitud o la categoría.

import matplotlib.pyplot as plt
import numpy as np

# Generar datos aleatorios para el gráfico de dispersión
np.random.seed(0)  # Para reproducibilidad
x = np.random.rand(50)  # 50 puntos aleatorios para el eje X
y = np.random.rand(50)  # 50 puntos aleatorios para el eje Y
colores = np.random.rand(50)  # Colores aleatorios para cada punto
areas = (30 * np.random.rand(50))**2  # Áreas aleatorias para cada punto

# Crear el gráfico de dispersión
plt.figure(figsize=(8, 5))  # tamaño del gráfico
plt.scatter(x, y, s=areas, c=colores, alpha=0.5)  
# scatter plot con transparencia

# Personalización
plt.title('Gráfico de Dispersión')  # título del gráfico
plt.xlabel('Eje X')  # etiqueta del eje X
plt.ylabel('Eje Y')  # etiqueta del eje Y

# Mostrar el gráfico
plt.show()


Aquí tienes un ejemplo de un gráfico de dispersión en Python utilizando Matplotlib. Este gráfico muestra 50 puntos con posiciones aleatorias en los ejes X e Y, cada uno con un color y tamaño de área aleatoria:

  • Se generan puntos aleatorios para los ejes X e Y utilizando np.random.rand.
  • Los colores y áreas de los puntos también se seleccionan aleatoriamente para añadir variedad visual.
  • Se crea el gráfico de dispersión con plt.scatter, donde "S", controla el tamaño de los puntos y "C", sus colores. La transparencia se ajusta con alpha.
  • Se añaden un título y etiquetas para los ejes para mejorar la comprensión.

Ejemplo 4: Gráfico de histogramas

Este tipo de gráfico es útil para visualizar la distribución de frecuencias de un conjunto de datos, lo que permite identificar rápidamente patrones como la centralización de datos, la dispersión y la simetría o asimetría de la distribución.

import matplotlib.pyplot as plt
import numpy as np

# Generar datos aleatorios para el histograma
np.random.seed(0)  # Para reproducibilidad
datos = np.random.randn(1000)  # 1000 puntos con distribución normal

# Crear el histograma
plt.figure(figsize=(8, 5))  # tamaño del gráfico
plt.hist(datos, bins=30, color='skyblue', edgecolor='black')  # 30 barras

# Personalización
plt.title('Histograma de Datos Aleatorios')  # título del gráfico
plt.xlabel('Valor')  # etiqueta del eje X
plt.ylabel('Frecuencia')  # etiqueta del eje Y

# Mostrar el gráfico
plt.show()


Aquí tienes un ejemplo de un histograma en Python utilizando Matplotlib. Este histograma muestra la distribución de 1000 puntos generados aleatoriamente con una distribución normal:

  • Los datos se generan con np.random.randn, que producen una distribución normal estándar.
  • Se crea el histograma con plt.hist, especificando el número de barras (o "bins") y el color.
  • Las barras tienen un borde negro para mejorar la distinción entre ellas.
  • Se añaden un título y etiquetas para los ejes X e Y para facilitar la comprensión.

Ejemplo 5: Gráfico de diagrama de cajas

El diagrama de cajas es una herramienta útil para visualizar la distribución de los datos, permitiendo comparar rápidamente medios, rangos y variabilidad entre diferentes conjuntos de datos

import matplotlib.pyplot as plt
import numpy as np

# Generar datos aleatorios para el diagrama de cajas
np.random.seed(0)  # Para reproducibilidad
datos = [np.random.normal(0, std, 100) for std in range(1, 4)]
 # 3 conjuntos de datos con diferentes desviaciones estándar

# Crear el diagrama de cajas (boxplot)
plt.figure(figsize=(8, 5))  # tamaño del gráfico
plt.boxplot(datos, patch_artist=True)  # boxplot con colores

# Personalización
plt.title('Diagrama de Cajas de Datos Aleatorios')  # título del gráfico
plt.xticks([1, 2, 3], ['Grupo 1', 'Grupo 2', 'Grupo 3'])  
# etiquetas para los grupos
plt.ylabel('Valores')  # etiqueta del eje Y

# Mostrar el gráfico
plt.show()



Aquí tienes un ejemplo de un diagrama de cajas (o boxplot) en Python utilizando Matplotlib. Este gráfico muestra la distribución de tres conjuntos de datos generados aleatoriamente, cada uno con diferentes desviaciones estándar:

  • Se generan tres conjuntos de datos con np.random.normal, cada uno con una desviación estándar distinta (1, 2 y 3).
  • Se crea el diagrama de cajas con plt.boxplot. La opción patch_artist=True se utiliza para dar color a las cajas.
  • Cada caja representa la distribución de un conjunto de datos, mostrando la mediana, los cuartiles y los valores atípicos (outliers).
  • Se añaden etiquetas personalizadas para los grupos y una etiqueta para el eje Y.

Ejemplo 6: Gráfico de contorno

El gráfico de contorno es útil para visualizar la relación entre tres variables (dos variables espaciales y una variable de altura o profundidad) y se utiliza en campos como la meteorología, la geografía y la física.

import matplotlib.pyplot as plt
import numpy as np

# Crear datos para el gráfico de contorno
x = np.linspace(-3.0, 3.0, 100)  # 100 puntos entre -3 y 3 para el eje X
y = np.linspace(-3.0, 3.0, 100)  # 100 puntos entre -3 y 3 para el eje Y
X, Y = np.meshgrid(x, y)  # Crear una malla 2D
Z = np.sin(np.sqrt(X**2 + Y**2))  # Calcular los valores de Z (altura)

# Crear el gráfico de contorno
plt.figure(figsize=(8, 6))  # tamaño del gráfico
contours = plt.contour(X, Y, Z, 20, cmap='viridis')  # 20 niveles de contorno
plt.clabel(contours, inline=True, fontsize=8)  # Etiquetas en los contornos

# Personalización
plt.title('Gráfico de Contorno')  # título del gráfico
plt.xlabel('Eje X')  # etiqueta del eje X
plt.ylabel('Eje Y')  # etiqueta del eje Y

# Mostrar el gráfico
plt.show()

Aquí tienes un ejemplo de un gráfico de contorno en Python utilizando Matplotlib. Este gráfico muestra las líneas de contorno para la función.pecado(2+2)

  • Se generan dos series de puntos, "x" e "y", que van de -3 a 3.
  • Se crea una malla 2D con estos puntos utilizando np.meshgrid.
  • Los valores de Zse calculan como el seno de la raíz cuadrada de la suma de los cuadrados de "X" e "Y".
  • Se utiliza plt.contour para crear el gráfico de contorno, especificando el número de niveles de contorno y el mapa de colores.
  • Se agregarán etiquetas en los contornos para indicar los valores de Z.

Ejemplo 7: Gráfico 3D

Este tipo de gráfico es útil para visualizar relaciones complejas entre tres variables y es utilizado en matemáticas, física, ingeniería y otros campos científicos.

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# Crear datos para el gráfico 3D
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# Crear la figura y el eje 3D
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')

# Gráfico de superficie
surf = ax.plot_surface(X, Y, Z, cmap='viridis')

# Personalización
ax.set_title('Gráfico 3D - Superficie Ondulada')
ax.set_xlabel('Eje X')
ax.set_ylabel('Eje Y')
ax.set_zlabel('Eje Z')

# Mostrar el gráfico
plt.show()




Aquí tienes un ejemplo de un gráfico 3D en Python utilizando Matplotlib. Este gráfico muestra una superficie ondulada basada en la funciónpecado(2+2): (:

  • Se crean dos series de puntos, x e y, que van de -5 a 5.
  • Se utiliza np.meshgridpara formar una malla 2D a partir de estos puntos.
  • Los valores de Z se calculan como el seno de la raíz cuadrada de la suma de los cuadrados de X y Y.
  • Se crea un eje 3D con fig.add_subplot(111, projection='3d').
  • Se utiliza ax.plot_surfacepara dibujar la superficie 3D, especificando un mapa de colores.
  • Se añadirán títulos y etiquetas a los ejes para mejorar la comprensión.
https://colab.research.google.com/drive/10XyrQhd-ChYG2VaW6wHZydsbFGQCX2nd#scrollTo=2uRfL-V-7VvH

No hay comentarios:

Publicar un comentario