Ich möchte eine Verwechslungsmatrix mit Pylab darstellen. Die Klassenbezeichnungen entlang der horizontalen Achse sind lang, also möchte ich sie vertikal gedreht darstellen. Ich möchte sie aber auch auf der Achse auftragen, nicht darunter.Vertikale Xtick-Etiketten oben, nicht unten
Dieser Befehl kann vertikale Etiketten auf der Unterseite des Grundstückes:
pylab.imshow(confusion_matrix)
pylab.xticks(..., rotation='vertical')
und dieser Befehl horizontal Etiketten auf der Oberseite ohne Drehung zeichnen kann:
pylab.matshow(confusion_matrix)
aber ich kann nichts finden, dass sowohl der Fall ist. Der folgende Befehl funktioniert nicht.
pylab.matshow(confusion_matrix)
pylab.xticks(..., rotation='vertical')
Können Sie eine Möglichkeit vorschlagen, eine Verwechslungsmatrix mit Xticks oben auf der Achse mit vertikaler Drehung zu zeichnen? Vielen Dank.
EDIT
Danke, Mark, für Ihre Hilfe. Es hat mich auf den richtigen Weg gebracht, indem ich die Eigenschaften der Zecke genauer untersuchte. Der einzige Unterschied zu Ihrer Antwort und meiner gewünschten Antwort besteht darin, diese Idee auf ein AxesImage anzuwenden, nicht auf eine Handlung. Nach der Untersuchung, hier ist die Antwort:
im = pylab.matshow(confusion_matrix)
for label in im.axes.xaxis.get_ticklabels():
label.set_rotation(90)
im.figure.show()
Zu denen lesen ... nicht vergessen, Show()! Ich vergaß, dass ich die Figur auffrischen musste. Siehe Ausgabe unten.
Confusion matrix with vertical labels. http://up.stevetjoa.com/rotate_ticklabels.png
Vielen Dank für Ihre schnelle Antwort. Ich war unklar. Ich versuche, die Etiketten über die gesamte Figur zu zeichnen. Zum Beispiel, pylab.matshow() tut dies, aber die Etiketten können nicht gedreht werden. Es wäre wirklich schön, sie zu drehen, weil sie alles lesbarer macht, besonders wenn die Konfusionsmatrix groß ist. –
@Steve, siehe oben. – Mark