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()
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()
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()
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()
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()
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()
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()
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()
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.
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.
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
.
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()
También te puede interesar