gpt4 book ai didi

matplotlib - 垂直xtick标签在顶部,而不是底部

转载 作者:行者123 更新时间:2023-12-03 11:58:31 25 4
gpt4 key购买 nike

我想使用Pylab绘制一个混淆矩阵。沿水平轴的类标签很长,因此我想将它们垂直旋转绘制。但是,我也想将它们绘制在轴的顶部,而不是下方。

此命令可以在底部绘制垂直标签:

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

最佳答案

如果我对您的理解正确,那么您将与您取得联系。您可能需要用空格“填充”标签以将其移出xaxis线。

from matplotlib import pylab 
pylab.plot([0, 6], [0, 6])
pylab.xticks([1,2,3,4,5,6],('one','two','three','four','five','six'),rotation='vertical',verticalalignment='bottom')

编辑对评论的响应

如果希望它们在顶部x轴上垂直旋转,请尝试以下操作:
pylab.plot([0, 6], [0, 6])
pylab.xticks([1,2,3,4,5,6],('one','two','three','four','five','six'))
for tick in pylab.gca().xaxis.iter_ticks():
tick[0].label2On = True
tick[0].label1On = False
tick[0].label2.set_rotation('vertical')

关于matplotlib - 垂直xtick标签在顶部,而不是底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com