2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Curso de programación con Matplotlib

Matplotlib es la biblioteca esencial para la visualización de datos en Python. Crea gráficos y visualizaciones de alta calidad de manera sencilla y eficiente.

Aprende Matplotlib GRATIS y certifícate

Matplotlib es una biblioteca de Python especializada en la generación de gráficos y visualizaciones de datos. Es ampliamente utilizada en ciencia de datos, ingeniería y disciplinas que requieren análisis visual.

¿Qué es Matplotlib?

Matplotlib proporciona una interfaz para crear gráficos estáticos, animados e interactivos en Python. Se inspira en MATLAB, ofreciendo una sintaxis similar para aquellos familiarizados con ese entorno. Permite generar una amplia variedad de gráficos, desde simples gráficos de líneas hasta visualizaciones complejas en 3D.

Instalación de Matplotlib

Para instalar Matplotlib, se utiliza el gestor de paquetes pip:

pip install matplotlib

O, si se utiliza Anaconda:

conda install matplotlib

Estructura básica de un gráfico en Matplotlib

Figura y ejes

En Matplotlib, todo gráfico se compone de una figura que contiene uno o varios ejes. La figura es el contenedor principal, mientras que los ejes son las áreas donde se dibujan los datos.

Ejemplo de creación de una figura y ejes:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

Creación de gráficos simples

Gráfico de líneas

Un gráfico de líneas es útil para mostrar tendencias a lo largo de un eje, generalmente el tiempo.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 17, 20]

plt.plot(x, y)
plt.xlabel('Tiempo')
plt.ylabel('Valor')
plt.title('Gráfico de líneas simple')
plt.show()

Gráfico de dispersión

Visualiza la relación entre dos variables numéricas.

import matplotlib.pyplot as plt

x = [5, 7, 8, 2, 17]
y = [99, 86, 87, 88, 111]

plt.scatter(x, y)
plt.xlabel('Edad')
plt.ylabel('Ingresos')
plt.title('Gráfico de dispersión')
plt.show()

Gráfico de barras

Se utiliza para comparar cantidades entre diferentes categorías.

import matplotlib.pyplot as plt

categorias = ['A', 'B', 'C', 'D']
valores = [4, 7, 1, 8]

plt.bar(categorias, valores)
plt.xlabel('Categorías')
plt.ylabel('Valores')
plt.title('Gráfico de barras')
plt.show()

Gráfico de pastel

Muestra proporciones de un todo.

import matplotlib.pyplot as plt

secciones = [35, 25, 25, 15]
etiquetas = ['Manzanas', 'Bananas', 'Cerezas', 'Dátiles']

plt.pie(secciones, labels=etiquetas, autopct='%1.1f%%')
plt.title('Gráfico de pastel')
plt.show()

Personalización de gráficos

Títulos y etiquetas

Es importante añadir títulos y etiquetas para facilitar la interpretación.

plt.title('Título del gráfico')
plt.xlabel('Etiqueta del eje X')
plt.ylabel('Etiqueta del eje Y')

Leyendas

Se utilizan para identificar diferentes conjuntos de datos en un mismo gráfico.

plt.plot(x1, y1, label='Datos 1')
plt.plot(x2, y2, label='Datos 2')
plt.legend()

Estilos y colores

Matplotlib ofrece estilos predefinidos y la posibilidad de personalizar colores.

plt.style.use('ggplot')
plt.plot(x, y, color='red', linewidth=2, linestyle='--')

Subplots (múltiples gráficos en una figura)

Permiten mostrar varios gráficos en una sola figura.

fig, axs = plt.subplots(2, 2)

axs[0, 0].plot(x, y)
axs[0, 0].set_title('Gráfico 1')

axs[0, 1].bar(categorias, valores)
axs[0, 1].set_title('Gráfico 2')

axs[1, 0].scatter(x, y)
axs[1, 0].set_title('Gráfico 3')

axs[1, 1].pie(secciones, labels=etiquetas)
axs[1, 1].set_title('Gráfico 4')

plt.tight_layout()
plt.show()

Trabajando con fechas y tiempos

Matplotlib facilita la representación de datos temporales.

import matplotlib.dates as mdates
import datetime

fechas = [datetime.datetime(2021, 1, i+1) for i in range(10)]
valores = [i**2 for i in range(10)]

plt.plot(fechas, valores)
plt.gcf().autofmt_xdate()
plt.show()

Anotaciones y textos en los gráficos

Para resaltar puntos específicos o añadir notas.

plt.plot(x, y)
plt.annotate('Punto importante', xy=(2, 15), xytext=(3, 20),
             arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()

Guardar gráficos en diferentes formatos

Es posible exportar gráficos a archivos de imagen.

plt.savefig('grafico.png')
plt.savefig('grafico.pdf')

Integración con pandas

Matplotlib se integra bien con pandas para visualizar datos de DataFrames.

import pandas as pd

df = pd.DataFrame({
    'Año': [2018, 2019, 2020, 2021],
    'Ventas': [250, 300, 400, 350]
})

df.plot(x='Año', y='Ventas', kind='bar')
plt.show()

Uso avanzado

Gráficos 3D

Matplotlib permite crear gráficos en tres dimensiones.

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = [1, 2, 3, 4]
y = [10, 15, 13, 17]
z = [5, 6, 7, 8]

ax.plot3D(x, y, z)
plt.show()

Gráficos interactivos

Con herramientas como %matplotlib notebook en Jupyter Notebook o utilizando bibliotecas como ipywidgets.

%matplotlib notebook
plt.plot(x, y)
plt.show()

Mejores prácticas

Organización del código

Separar la generación de datos de la visualización mejora la legibilidad.

def generar_datos():
    # Código para generar datos
    pass

def crear_grafico(x, y):
    plt.plot(x, y)
    plt.show()

x, y = generar_datos()
crear_grafico(x, y)

Reutilización de funciones

Crear funciones para gráficos reutilizables.

def grafico_personalizado(x, y, titulo):
    plt.plot(x, y)
    plt.title(titulo)
    plt.show()

Recursos adicionales

Aprende Matplotlib GRATIS online

Tutoriales de Matplotlib

Aprende Matplotlib con tutoriales de programación en Matplotlib.

Introducción E Instalación De Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Introducción Y Entorno

Conceptos Básicos De Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Introducción Y Entorno

Gráficos Univariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Creación De Gráficos

Gráficos Bivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Creación De Gráficos

Gráficos Multivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Creación De Gráficos

Títulos, Etiquetas Y Leyenda Y Límites

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Temas Predefinidos, Colores Y Estilos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Ejes, Ajustes De Ejes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Subplots Y Grillas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Integración De Matplotlib Con Numpy

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Integraciones

Integración De Matplotlib Con Pandas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Integraciones

Integración De Matplotlib Con Seaborn

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Integraciones

Evaluación Test De Conocimientos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Evaluación Matplotlib

Evaluación Conocimiento De Código

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Evaluación Matplotlib

Ejercicios de programación de Matplotlib

Evalúa tus conocimientos en Matplotlib con ejercicios de programación Matplotlib de tipo Test, Puzzle, Código y Proyecto con VSCode.

Evaluación código global

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Integración de Matplotlib con Numpy

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Evaluación test global

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Análisis mercado de criptomonedas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Proyecto

Gráficos univariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Gráficos multivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Conceptos básicos de Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Puzzle

Análisis de ventas de videojuegos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Proyecto

Temas predefinidos, colores y estilos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Subplots y grillas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Gráficos bivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Integración de Matplotlib con Pandas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Visualización de datos dataset iris

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Proyecto

Introducción e instalación de Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Ajuste de ejes en matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Puzzle

Integración de Matplotlib con Seaborn

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Títulos, etiquetas y leyenda y límites

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Tipo de tecnología

Biblioteca

Categoría laboral

Ciencia de Datos e Inteligencia artificial

Año de lanzamiento

2003

Developers

NumFOCUS

Todos los módulos de Matplotlib

Ver todos los módulos de Matplotlib

Otras tecnologías

Vue.js
Vuejs

Vuejs

Frontend

Framework de JS progresivo para construir interfaces de usuario reactivas y modulares.

Selenium

Selenium

Testing / QA (Quality Assurance)

Suite de herramientas open-source para automatizar navegadores web y pruebas de software de interfaz de usuario.

TypeScript
TypeScript

TypeScript

Full Stack

Superconjunto de JavaScript con tipado estático.

Java

Java

Backend

Lenguaje de programación versátil y multiplataforma.

Seaborn

Seaborn

Ciencia de Datos e Inteligencia artificial

Biblioteca de visualización de datos para Python.

CSharp

CSharp

Backend

Lenguaje de programación de Microsoft para aplicaciones robustas.

Spring Boot
SpringBoot

SpringBoot

Backend

Framework para desarrollo rápido de aplicaciones Java.

NestJS
Nest

Nest

Backend

Framework Node.js para crear aplicaciones escalables y eficientes.

Git
Git

Git

DevOps

Sistema de control de versiones distribuido.

React
React

React

Frontend

Librería framework para frontend interfaces de usuario.

Docker
Docker

Docker

DevOps

Plataforma de contenedores para aplicaciones portátiles.

Go
Go

Go

Backend

Lenguaje de programación eficiente y concurrente creado por Google.

SQL

SQL

Administración de bases de datos

Lenguaje para gestionar bases de datos relacionales.

Tailwind CSS
TailwindCSS

TailwindCSS

Frontend

Framework de utilidades CSS para diseños rápidos y personalizables.

Kotlin
Kotlin

Kotlin

Backend

Lenguaje de programación moderno y seguro para aplicaciones Android.

HTML5
HTML

HTML

Frontend

Lenguaje de marcado para estructurar contenido web.

NumPy
Numpy

Numpy

Ciencia de Datos e Inteligencia artificial

Biblioteca Python para computación científica y matrices.

GNU Bash
Bash

Bash

Administración de sistemas

Intérprete de comandos para sistemas Unix y Linux.

Acceder a todas las tecnologías