在python matplotlib中旋转轴文本

我无法弄清楚如何旋转X轴上的文本。它是一个时间戳,随着样本数量的增加,它们越来越近,直到它们重叠。我想将文本旋转90度,以便样本靠近在一起,它们不重叠。


下面是我的,它工作得很好,除了我无法弄清楚如何旋转X轴文本。


import sys


import matplotlib

matplotlib.use('Agg')

import matplotlib.pyplot as plt

import datetime


font = {'family' : 'normal',

        'weight' : 'bold',

        'size'   : 8}


matplotlib.rc('font', **font)


values = open('stats.csv', 'r').readlines()


time = [datetime.datetime.fromtimestamp(float(i.split(',')[0].strip())) for i in values[1:]]

delay = [float(i.split(',')[1].strip()) for i in values[1:]]


plt.plot(time, delay)

plt.grid(b='on')


plt.savefig('test.png')


繁华开满天机
浏览 1270回答 3
3回答

白板的微信

简单的方法如此处所述,类中存在一种现有方法,matplotlib.pyplot figure可以根据您的需要自动旋转日期。您可以在绘制数据后调用它(即ax.plot(dates,ydata):fig.autofmt_xdate()如果您需要进一步格式化标签,请查看以上链接。非日期时间对象根据languitar的评论,我建议用于非日期时间的方法xticks在缩放等时不会正确更新。如果它不是datetime用作x轴数据的对象,你应该按照Tommy的回答:for tick in ax.get_xticklabels():    tick.set_rotation(45)

动漫人物

试试pyplot.setp。我想你可以这样做:x = range(len(time))plt.xticks(x,  time)locs, labels = plt.xticks()plt.setp(labels, rotation=90)plt.plot(x, delay)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python