HOWTO · Matplotlib
Como definir o título da figura e o tamanho da fonte das etiquetas dos eixos em Matplotlib
O tamanho e a fonte do título e dos eixos em Matplotlib podem ser definidos usando o parâmetro font size, label.set_size(), e o dicionário rcParams.
Nesta página
Para um único gráfico, passe fontsize às chamadas que definem o título e os rótulos. Para aplicar padrões reutilizáveis, atualize rcParams; para alterar objetos de texto existentes individualmente, chame set_size(). Os exemplos usam um título de Axes. O título da figura é independente e é definido com fig.suptitle().
Definir o tamanho do título e dos rótulos dos eixos com fontsize
Passe fontsize diretamente para Axes.set_title(), Axes.set_xlabel() e Axes.set_ylabel(). Essas chamadas controlam o título e os rótulos daquele Axes. Se também quiser um título acima da figura inteira, use fig.suptitle() e defina um valor próprio para fontsize.
O Matplotlib expressa os tamanhos numéricos de fonte em pontos. Use o mesmo valor em várias chamadas para manter uma aparência consistente ou escolha um tamanho maior para o título e criar uma hierarquia visual. Como o valor é passado a cada chamada que define o texto, você pode ajustar um rótulo sem alterar os demais.
Este exemplo completo cria um gráfico, define o título do Axes e os dois rótulos e adiciona um título separado para a figura. Altere os tamanhos em pontos para adequá-los ao seu layout.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([0, 1, 2], [0, 1, 4])
ax.set_title("Values by x", fontsize=16)
ax.set_xlabel("x", fontsize=12)
ax.set_ylabel("value", fontsize=12)
fig.suptitle("Example figure", fontsize=20)
plt.show()
Definir tamanhos de fonte padrão com rcParams
rcParams armazena as opções de configuração padrão do Matplotlib. Atualizá-lo altera os padrões usados pelos elementos de gráfico criados posteriormente no processo Python atual. Defina esses valores antes de criar o gráfico para aplicá-los de maneira consistente; passe fontsize em uma chamada específica quando aquele texto precisar de outro tamanho.
Use axes.labelsize para os rótulos dos eixos x e y, axes.titlesize para os títulos dos Axes e figure.titlesize para os títulos da figura criados com fig.suptitle(). As duas primeiras opções são independentes da configuração do título da figura. Esses parâmetros aceitam tamanhos como um número de pontos ou um nome de tamanho compatível.
import matplotlib.pyplot as plt
plt.rcParams.update({
"axes.labelsize": 12,
"axes.titlesize": 16,
"figure.titlesize": 20,
})
fig, ax = plt.subplots()
ax.plot([0, 1, 2], [0, 1, 4])
ax.set_title("Values by x")
ax.set_xlabel("x")
ax.set_ylabel("value")
fig.suptitle("Example figure")
plt.show()
Se apenas um gráfico precisar de padrões diferentes, use matplotlib.rc_context() para aplicar configurações temporárias de rcParams a um bloco de código. Assim, essas opções não se tornam os padrões dos gráficos criados depois no processo.
Por exemplo, with plt.rc_context({"axes.labelsize": 12, "axes.titlesize": 16}): limita essas duas configurações ao código de plotagem indentado. Fora desse bloco, o Matplotlib restaura as configurações anteriores. Isso é útil em um script que cria gráficos com estilos diferentes.
Ajustar individualmente os tamanhos do título e dos rótulos com set_size()
Cada título ou rótulo de eixo é um objeto de texto com um método set_size(). Isso é útil quando o gráfico já existe ou quando o título e os rótulos precisam de tamanhos diferentes. O exemplo a seguir obtém o Axes atual com plt.gca() e, em seguida, define o tamanho dos objetos de texto do título e dos rótulos.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([0, 1, 2], [0, 1, 4])
ax.set_title("Values by x")
ax.set_xlabel("x")
ax.set_ylabel("value")
axes = plt.gca()
axes.title.set_size(16)
axes.xaxis.label.set_size(12)
axes.yaxis.label.set_size(12)
plt.show()
Ao trabalhar com vários Axes, mantenha uma referência ao que deseja alterar, como em ax.title.set_size(16), em vez de depender de plt.gca(), que retorna o Axes atual. Para um título da figura, defina o tamanho ao chamar fig.suptitle() ou guarde o objeto de texto retornado e chame set_size() nele. O título de um Axes pertence a um painel; o título da figura descreve a figura como um todo.