xticks xtick vertical ticks rotate pyplot python matplotlib imshow

python - vertical - xtick rotate matplotlib



Python xticks en subtramas (2)

Si trazo un solo diagrama de imshow puedo usar

fig, ax = plt.subplots() ax.imshow(data) plt.xticks( [4, 14, 24], [5, 15, 25] )

para reemplazar mis etiquetas xtick.

Ahora, estoy tramando 12 imshow de imshow usando

f, axarr = plt.subplots(4, 3) axarr[i, j].imshow(data)

¿Cómo puedo cambiar mis xticks solo por una de estas subtramas? Solo puedo acceder a los ejes de las subtramas con axarr[i, j] . ¿Cómo puedo acceder a plt solo para una subtrama particular?


Hay dos maneras:

  1. Utilice los métodos de ejes del objeto de subtrama (por ejemplo, ax.set_xticks y ax.set_xticklabels ) o
  2. Utilice plt.sca para establecer los ejes actuales para la máquina de estado de plámip (es decir, la interfaz plt ).

Como ejemplo (esto también ilustra el uso de setp para cambiar las propiedades de todas las subtramas):

import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=3, ncols=4) # Set the ticks and ticklabels for all axes plt.setp(axes, xticks=[0.1, 0.5, 0.9], xticklabels=[''a'', ''b'', ''c''], yticks=[1, 2, 3]) # Use the pyplot interface to change just one subplot... plt.sca(axes[1, 1]) plt.xticks(range(3), [''A'', ''Big'', ''Cat''], color=''red'') fig.tight_layout() plt.show()


Parece que en la versión posterior de Matplotlib, las funciones set_yticks y set_xticks se eliminan. Lo que hice fue, en lugar de establecer el tamaño de x, y ticks, simplemente cambié el tamaño de la figura.

plt.figure(1, dpi=200, figsize=(20,20))

Sé que es un poco anti-intuitivo, pero eso es lo que funcionó para mí ... Avíseme si hay mejores métodos para resolver este problema en las versiones posteriores de Matplotlib. Gracias