Curso
Matplotlib es una librería muy potente para crear visualizaciones en Python. Cuando trabajas con Jupyter Notebooks, DataLab u otros entornos compatibles, puedes usar Matplotlib inline para mostrar las gráficas de Matplotlib directamente en el cuaderno, sin necesidad de abrir ventanas adicionales. Si quieres profundizar en las capacidades de Matplotlib, echa un vistazo a este tutorial sobre el uso de la librería Matplotlib.
¿Qué hace Matplotlib inline?
Matplotlib inline es un comando de backend en Jupyter Notebooks que permite renderizar las gráficas de Matplotlib justo debajo de las celdas de código. Es decir, cuando ejecutas código que genera gráficos de Matplotlib, estos se muestran integrados en el cuaderno, en lugar de abrirse en una ventana aparte o en otra salida.
Esta visualización integrada resulta muy útil cuando iteras distintas versiones de una gráfica en un cuaderno. Como el gráfico aparece justo debajo del código que lo genera, es fácil ver cómo afectan los cambios en tu código al resultado. Puedes aprovecharlo mientras aplicas las opciones habituales de un gráfico, como título, etiquetas de ejes, leyenda o colores.
Ojo, en algunos casos puedes encontrarte con pérdidas de memoria: un error en el que no se libera memoria entre eventos de dibujado y, tras cambios, la figura se muestra de forma incorrecta. Si te ocurre, prueba a usar los métodos .clf() y .close() para limpiar la memoria del gráfico anterior antes de volver a generarlo.
Nota importante: en las versiones actuales de Jupyter Notebook, no es necesario usar Matplotlib inline porque las gráficas se muestran automáticamente. Aun así, sigue siendo útil, especialmente al compartir código. Así que si usas la última versión de Jupyter Notebook o trabajas en DataLab y no vas a compartir tu código, puedes saltarte este tutorial y ponerte a aprender Matplotlib directamente.
Sintaxis y uso de Matplotlib inline con ejemplos
Para activar el modo Matplotlib inline en un cuaderno Jupyter, basta con incluir este comando al inicio del cuaderno:
import matplotlib
%matplotlib inline
Este comando le indica a Jupyter que renderice las gráficas de Matplotlib directamente en el cuaderno, en lugar de abrir una ventana nueva o tener que guardar un gráfico externo. Una vez activado, puedes crear y mostrar gráficos con Matplotlib como de costumbre.

Un ejemplo de %matplotlib inline en acción en un Jupyter Notebook
Como comentábamos, las versiones más recientes de Jupyter Notebooks y de IDEs como DataLab no requieren añadir %matplotlib inline para ver las gráficas en la misma celda. Aun así, yo prefiero añadir esta línea al principio de mis scripts incluso en esos IDEs. Facilita mover el código entre sistemas y compañeros de equipo. También reduce la probabilidad de errores inesperados si el IDE deja de comportarse como esperas.
Una alternativa interactiva: %matplotlib notebook
Si buscas interactividad en tus gráficos inline, prueba el comando de backend %matplotlib notebook. Este comando sigue mostrando los gráficos dentro del cuaderno y añade funciones interactivas como zoom, desplazamiento y exploración de datos. Sin embargo, puede ser algo temperamental en algunos sistemas. Si este comando mágico te da problemas, te recomiendo usar plotly.io para obtener gráficos interactivos en línea.

Un ejemplo de %matplotlib notebook en acción en un Jupyter Notebook
Integrar %matplotlib inline con otras librerías de visualización
El comando %matplotlib inline no se limita a las gráficas de matplotlib. Se integra fácilmente con otras librerías como seaborn y plotly, ampliando el abanico de tipos de gráficos que puedes crear dentro del cuaderno.
Usarlo junto con la librería seaborn amplía las opciones de personalización de las gráficas.

Un ejemplo de %matplotlib inline con seaborn en acción en un Jupyter Notebook
Usarlo junto con la librería plotly permite añadir interactividad, como zoom y desplazamiento.

Un ejemplo de %matplotlib inline con plotly en acción en un Jupyter Notebook
Idea clave: usa el comando %matplotlib inline para activar la representación de gráficos integrada en Jupyter Notebooks. Combínalo con otras librerías de visualización para crear gráficos potentes.
Buenas prácticas al usar %matplotlib inline
Cuando uses %matplotlib inline, ten en cuenta estas buenas prácticas:
- Añade el comando matplotlib inline al principio del cuaderno para asegurar una visualización coherente en todo el documento.
- Asegúrate de importar la librería matplotlib antes de llamar al comando.
- Si quieres ver las gráficas dentro del cuaderno, usa matplotlib inline aunque tu IDE lo haga por defecto. Garantiza un funcionamiento fluido, sobre todo cuando tu código lo utilice otra persona.
- Limpia las gráficas anteriores antes de generar otras nuevas para evitar pérdidas de memoria.
- Asegúrate de que el tipo de gráfica que eliges se ajusta a tus datos y a la conclusión que quieres mostrar.
Conclusión
El modo Matplotlib inline es una función muy práctica que mejora la usabilidad de Matplotlib en Jupyter Notebooks. Al activar el renderizado integrado de las gráficas, agiliza el flujo de trabajo para crear, explorar y comunicar conclusiones a partir de los datos.
Para aprender más sobre visualización de datos, echa un vistazo a Introduction to Data Visualizations with Matplotlib. Anímate a crear gráficos avanzados y visualizaciones en este curso de Seaborn y en este tutorial sobre histogramas en Matplotlib.
Soy doctor con 13 años de experiencia trabajando con datos en un entorno de investigación biológica. Creo software en varios lenguajes de programación, como Python, MATLAB y R. Me apasiona compartir mi amor por el aprendizaje con el mundo.


