abre el camino
En una figura de matplotlib, ¿cómo puedo hacer el tamaño de fuente para las etiquetas de marca usando ax1.set_xticklabels()
¿menor?
Además, ¿cómo se puede girar de horizontal a vertical?
autiwa
Hay una manera más simple en realidad. Acabo de encontrar:
import matplotlib.pyplot as plt
# We prepare the plot
fig, ax = plt.subplots()
# We change the fontsize of minor ticks label
ax.tick_params(axis="both", which="major", labelsize=10)
ax.tick_params(axis="both", which="minor", labelsize=8)
Esto solo responde al tamaño de label
parte de su pregunta sin embargo.
-
Usar
axis = 'x'
oaxis = 'y'
modificar solo uno de los ejes– amado.por.Jesús
28 de abril de 2020 a las 15:08
Para especificar el tamaño de fuente y la rotación al mismo tiempo, intente esto:
plt.xticks(fontsize=14, rotation=90)
carne_mecanica
Tenga en cuenta que las versiones más recientes de MPL tienen un acceso directo para esta tarea. Se muestra un ejemplo en la otra respuesta a esta pregunta: https://stackoverflow.com/a/11386056/42346
El siguiente código tiene fines ilustrativos y puede no estar necesariamente 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()
kyle swanson
otra alternativa
Tengo dos parcelas una al lado de la otra y me gustaría ajustar las etiquetas de marca por separado.
Las soluciones anteriores estaban cerca, sin embargo, no estaban funcionando para mí. Encontré mi solución de este matplotlib página.
ax.xaxis.set_tick_params(labelsize=20)
Esto funcionó y fue directo al grano. Para mi caso de uso, era la trama de la derecha la que necesitaba ser ajustada. Para el gráfico de la izquierda, ya que estaba creando nuevas etiquetas de marca, pude ajustar la fuente en el mismo proceso que colocaring las etiquetas.
es decir
ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)
así que usé para la trama correcta,
ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)
Una sutileza menor… 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.
Alternativamente, puedes simplemente hacer:
import matplotlib as mpl
label_size = 8
mpl.rcParams['xtick.labelsize'] = label_size
georgia
plt.tick_params(axis="both", which="minor", labelsize=12)
Cristóbal
En las versiones actuales de Matplotlib, puede hacer axis.set_xticklabels(labels, fontsize="small")
.
Gracias por hacer esta pregunta, estoy tratando de resolver este problema ahora mismo. No soy muy obstinado aquí, pero parece que los votantes piensan que la mejor respuesta no es la aceptada. ¿Qué opinas?
– Rusia debe sacar a Putin
♦
18 de junio de 2017 a las 19:25
¿Leí correctamente que hay al menos 5 formas diferentes de cambiar el tamaño de fuente en matplotlib? 😀
– famargar
26 de febrero de 2018 a las 13:06