negro matrices graficos graficar color python matplotlib

python - matrices - Matplotlib hace que las etiquetas de tick tamaño de letra más pequeño



graficar matrices en python (10)

En una figura de matplotlib, ¿cómo puedo hacer que el tamaño de fuente para las etiquetas de tick usando ax1.set_xticklabels() más pequeño?

Además, ¿cómo se puede rotar de horizontal a vertical?


Alternativamente, puedes simplemente hacer:

import matplotlib as mpl label_size = 8 mpl.rcParams[''xtick.labelsize''] = label_size


En las versiones actuales de Matplotlib, puedes hacer axis.set_xticklabels(labels, fontsize=''small'') .


Hay una forma más sencilla en realidad. Acabo de encontrar:

import matplotlib.pyplot as plt # We prepare the plot fig = plt.figure(1) # We define a fake subplot that is in fact only the plot. plot = fig.add_subplot(111) # We change the fontsize of minor ticks label plot.tick_params(axis=''both'', which=''major'', labelsize=10) plot.tick_params(axis=''both'', which=''minor'', labelsize=8)

Sin embargo, esto solo responde al tamaño de la parte de la label de su pregunta.


Lo siguiente me funcionó:

ax2.xaxis.set_tick_params(labelsize=7) ax2.yaxis.set_tick_params(labelsize=7)

La ventaja de lo anterior es que no necesita proporcionar la array de labels y funciona con cualquier información sobre los axes .


Otra alternativa

Tengo dos parcelas una al lado de la otra y me gustaría ajustar las etiquetas de tick por separado.

Las soluciones anteriores estaban cerca, sin embargo, no funcionaban para mí. Encontré mi solución en esta page matplotlib.

ax.xaxis.set_tick_params(labelsize=20)

Esto hizo el truco y fue directo al grano. Para mi caso de uso, era la trama de la derecha que necesitaba ser ajustada. Para el gráfico de la izquierda, ya que estaba creando nuevas etiquetas de tictac, pude ajustar la fuente en el mismo proceso al establecer las etiquetas.

es decir

ax1.set_xticklabels(ax1_x, fontsize=15) ax1.set_yticklabels(ax1_y, fontsize=15)

Así lo utilicé para la trama correcta,

ax2.xaxis.set_tick_params(labelsize=24) ax2.yaxis.set_tick_params(labelsize=24)

Un menor sutilmente ... Lo sé ... pero espero que esto ayude a alguien :)

Puntos de bonificación si alguien sabe cómo ajustar el tamaño de fuente de la etiqueta de orden de magnitud.


Para especificar el tamaño de la fuente y la rotación al mismo tiempo, intente esto:

plt.xticks(fontsize=14, rotation=90)


Para fuentes más pequeñas, yo uso

ax1.set_xticklabels(xticklabels, fontsize=7)

¡y funciona!


También puede cambiar los parámetros de visualización de etiquetas como tamaño de fuente con una línea como esta:

zed = [tick.label.set_fontsize(14) for tick in ax.yaxis.get_major_ticks()]


Tenga en cuenta que las versiones más recientes de MPL tienen un acceso directo para esta tarea. Un ejemplo se muestra en la otra respuesta a esta pregunta: https://.com/a/11386056/42346

El código a continuación es para propósitos ilustrativos y no necesariamente puede ser optimizado.

import matplotlib.pyplot as plt import numpy as np def xticklabels_example(): fig = plt.figure() x = np.arange(20) y1 = np.cos(x) y2 = (x**2) y3 = (x**3) yn = (y1,y2,y3) COLORS = (''b'',''g'',''k'') for i,y in enumerate(yn): ax = fig.add_subplot(len(yn),1,i+1) ax.plot(x, y, ls=''solid'', color=COLORS[i]) if i != len(yn) - 1: # all but last ax.set_xticklabels( () ) else: for tick in ax.xaxis.get_major_ticks(): tick.label.set_fontsize(14) # specify integer or one of preset strings, e.g. #tick.label.set_fontsize(''x-small'') tick.label.set_rotation(''vertical'') fig.suptitle(''Matplotlib xticklabels Example'') plt.show() if __name__ == ''__main__'': xticklabels_example()


plt.tick_params (axis = ''both'', which = ''minor'', labelsize = 12)