una tamaño que marcadores libreria letra guardar graficos graficar grafica con como python matplotlib

python - tamaño - que es matplotlib



¿Cómo configuro el título de la figura y el tamaño de fuente de las etiquetas de los ejes en Matplotlib? (3)

Estoy creando una figura en Matplotlib así:

from matplotlib import pyplot as plt fig = plt.figure() plt.plot(data) fig.suptitle(''test title'') plt.xlabel(''xlabel'') plt.ylabel(''ylabel'') fig.savefig(''test.jpg'')

Quiero especificar los tamaños de fuente para el título de la figura y las etiquetas del eje. Necesito que los tres sean de diferentes tamaños de fuente, por lo que establecer un tamaño de fuente global ( mpl.rcParams[''font.size'']=x ) no es lo que quiero. ¿Cómo configuro los tamaños de fuente para el título de la figura y las etiquetas de los ejes individualmente?


Las funciones relacionadas con texto como label , title , etc. aceptan parámetros igual que matplotlib.text.Text . Para el tamaño de fuente puede usar size/fontsize :

from matplotlib import pyplot as plt fig = plt.figure() plt.plot(data) fig.suptitle(''test title'', fontsize=20) plt.xlabel(''xlabel'', fontsize=18) plt.ylabel(''ylabel'', fontsize=16) fig.savefig(''test.jpg'')

Para los mpl.rcParams title y label nivel mundial, mpl.rcParams contiene axes.titlesize y axes.labelsize . (De la página):

axes.titlesize : large # fontsize of the axes title axes.labelsize : medium # fontsize of the x any y labels

(Hasta donde puedo ver, no hay forma de establecer los tamaños de las etiquetas x e y separado).

Y veo que axes.titlesize no afecta a suptitle . Supongo que necesitas configurar eso manualmente.


Si está más acostumbrado a usar objetos ax para hacer su trazado, puede encontrar el ax.xaxis.label.set_size() más fácil de recordar, o al menos más fácil de encontrar usando la pestaña en un terminal ipython. Parece que se necesita una operación de redibujado después de ver el efecto. Por ejemplo:

import matplotlib.pyplot as plt # set up a plot with dummy data fig, ax = plt.subplots() x = [0, 1, 2] y = [0, 3, 9] ax.plot(x,y) # title and labels, setting initial sizes fig.suptitle(''test title'', fontsize=12) ax.set_xlabel(''xlabel'', fontsize=10) ax.set_ylabel(''ylabel'', fontsize=''medium'') # relative to plt.rcParams[''font.size''] # setting label sizes after creation ax.xaxis.label.set_size(20) plt.draw()

No sé de una manera similar para establecer el tamaño del suptítulo después de que se crea.


También puede hacer esto globalmente a través de un diccionario rcParams:

import matplotlib.pylab as pylab params = {''legend.fontsize'': ''x-large'', ''figure.figsize'': (15, 5), ''axes.labelsize'': ''x-large'', ''axes.titlesize'':''x-large'', ''xtick.labelsize'':''x-large'', ''ytick.labelsize'':''x-large''} pylab.rcParams.update(params)