我想用Pylab绘制一个混淆矩阵。沿水平轴的类标签很长,所以我想绘制它们垂直旋转。不过,我也想将它们绘制在轴的上方,而不是下方。顶部垂直xtick标签,而不是底部
此命令可以在底部绘制垂直标签:
pylab.imshow(confusion_matrix)
pylab.xticks(..., rotation='vertical')
和该命令可以绘制在顶部水平标签不旋转:
pylab.matshow(confusion_matrix)
,但我找不到任何可以做到这些。以下命令不起作用。
pylab.matshow(confusion_matrix)
pylab.xticks(..., rotation='vertical')
你可以建议一种方法来绘制一个混乱矩阵xticks在垂直轴旋转的顶部?谢谢。
编辑
谢谢你,马克,你的帮助。它通过更密切地检查标记属性让我走上了正确的轨道。与你的答案和我想要的答案唯一的区别是将该想法应用于AxesImage,而不是情节。经过调查,这里是答案:
im = pylab.matshow(confusion_matrix)
for label in im.axes.xaxis.get_ticklabels():
label.set_rotation(90)
im.figure.show()
对于那些阅读...不要忘记show()!我忘记了我需要刷新这个数字。见下面的输出。
Confusion matrix with vertical labels. http://up.stevetjoa.com/rotate_ticklabels.png
感谢您的及时回复。我不清楚。我试图在整个图上绘制标签。例如,pylab.matshow()这样做,但标签不能旋转。旋转它们会非常好,因为它使得所有内容更具可读性,尤其是当混淆矩阵很大时。 – 2010-01-02 23:28:29
@Steve,请参阅上面的编辑。 – Mark 2010-01-03 00:22:16