Quiero trazar una matriz de confusión con Pylab. Las etiquetas de clase a lo largo del eje horizontal son largas, por lo que quiero trazarlas giradas verticalmente. Sin embargo, también quiero trazarlos en la parte superior del eje, no debajo.Etiquetas verticales de xtick en la parte superior, no en la parte inferior
Este comando puede trazar etiquetas verticales en la parte inferior:
pylab.imshow(confusion_matrix)
pylab.xticks(..., rotation='vertical')
y este comando puede trazar etiquetas horizontales en la parte superior sin rotación:
pylab.matshow(confusion_matrix)
pero no puedo encontrar nada de lo que hace ambas cosas. El siguiente comando no funciona.
pylab.matshow(confusion_matrix)
pylab.xticks(..., rotation='vertical')
¿Puede sugerir una forma de trazar una matriz de confusión con xticks en la parte superior del eje con rotación vertical? Gracias.
EDITAR
Gracias, Mark, por su ayuda. Me puso en el camino correcto al inspeccionar las propiedades de la marca más de cerca. La única diferencia con su respuesta y mi respuesta deseada es aplicar esa idea a AxesImage, no a una trama. Después de la investigación, aquí está la respuesta:
im = pylab.matshow(confusion_matrix)
for label in im.axes.xaxis.get_ticklabels():
label.set_rotation(90)
im.figure.show()
Para los que leen ... no se olvide de mostrar()! Olvidé que necesitaba actualizar la figura. Ver salida a continuación.
Confusion matrix with vertical labels. http://up.stevetjoa.com/rotate_ticklabels.png
Gracias por su pronta respuesta. No estaba claro Estoy tratando de trazar las etiquetas en la parte superior de la figura completa. Por ejemplo, pylab.matshow() hace esto, pero las etiquetas no se pueden rotar. Sería realmente bueno rotarlos, porque hace todo más legible, especialmente cuando la matriz de confusión es grande. –
@Steve, mira las ediciones anteriores. – Mark