Títulos en matplotlib

Agregar títulos en matplotlib con title y set_title

Matplotlib permite añadir títulos a los gráficos utilizando la función title o la función set_title. La principal diferencia entre estas dos funciones es que la primera agrega un título para un único gráfico mientras que la segunda permite agregar títulos a varios gráficos de la misma figura. La elección entre una u otra dependerá del número de gráficos que tenga tu figura y del enfoque de programación que quieras utilizar.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Título del gráfico')
# plt.show()


# Otra forma:
fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

ax.set_title('Título del gráfico')
# plt.show()

Agregar un título en matplotlib

Título con varias líneas

Ten en cuenta que usando \n podrás crear un título con múltiples líneas en Python.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Título del gráfico\ncon dos líneas')
# plt.show()

Agregar un título con dos líneas en matplotlib

Posición del título

La función title proporciona el argumento loc, que por defecto es "center" (arriba en el centro), pero también puedes establecer la posición del título a la izquieda o a la derecha con los argumentos "left" o "right", respectivamente.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Título del gráfico a la derecha', loc = "right")
# plt.show()

Posición del título en matplotlib

También puedes utilizar el argumento pad para especificar el desplazamiento del título, en puntos, desde la parte superior de los ejes.

Varios títulos

Utilizando la función title varias veces puedes agregar varios títulos, siempre y cuando estén situados en posiciones diferentes, sino los títulos se sobrescribirán.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Primer título', loc = "left")
plt.title('Segundo título', loc = "right")
# plt.show()

Agregar varios títulos en matplotlib

Tamaño de fuente del título

El tamaño de fuente del título principal se puede personalizar a través del argumento fontsize.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Título del gráfico', fontsize = 20)
# plt.show()

Tamaño de fuente de un título en Python

Color del título

Además, el color del texto se puede cambiar pasando un nuevo color al argumento color, tal y como se muestra a continuación.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Título del gráfico', color = "red")
# plt.show()

Cambiar el color del título en matplotlib

Estilo de fuente

También puedes utilizar otro estilo de fuente, como negrita (bold) o cursiva (italic) con el argumento style.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title('Título del gráfico en cursiva', style = "italic")
# plt.show()

Título en cursiva en Python

Es posible personalizar el estilo de los títulos utilizando un diccionario llamado fontdict, donde el nombre de los elementos son los argumentos descritos antes.

Expresiones matemáticas

Cabe mencionar que puedes utilizar expresiones matemáticas en tus títulos. Para ello tendrás que escribir tu código TeX dentro de r'$ $', como en el ejemplo siguiente:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

plt.title(r'$\alpha > \beta$')
# plt.show()

Utilizar expresiones matemáticas en un título de matplotlib

Subtítulos y título de una figura con suptitle

Matplotlib también proporciona una función llamada suptitle, que puede ser usada para agregar un título general a una figura o para agregar un subtítulo.

Subtítulo

La manera más sencilla de agregar un subtítulo en Python es utilizar suptitle para establecer el título principal y luego agregar el subtítulo con title, tal y como se muestra a continuación.

Agregar un subtítulo en matplotlib

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(5), marker = "o")

fig.suptitle('Título principal')
plt.title('Subtítulo')
# plt.show()

Título de la figura

Sin embargo, la función suptitle está diseñada para establecer un título general a una figura, por lo que puedes utilizarla si quieres tener un título para varios gráfios.

Agregar un subtítulo en matplotlib

import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

# Gráficos
ax1.plot(range(5), marker = "o")
ax2.plot(range(5), marker = "o")

fig.suptitle('Título de la figura')

# plt.show()

Título de las subfiguras

Ten en cuenta que también puedes establecer títulos para cada subgráfico utilizando la función set_title.

Títulos para cada gráfico en matplotlib

import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

# Gráficos
ax1.plot(range(5), marker = "o")
ax2.plot(range(5), marker = "o")

fig.suptitle('Título de la figura')

# Titles for each plot
ax1.set_title('Primer título')
ax2.set_title('Segundo título')

# plt.show()
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon

También te puede interesar