matplotbib图形horization轴标签自动对齐或重新缩放

时间:2013-06-28 17:28:43

标签: python matplotlib

我试图使用matplotbib绘制时间序列数据图,问题是观察结果太多,因此标签有重叠并且不适合大小的数字。

我正在考虑三种解决方案,一种是缩小观察的标签大小,一种是将文本转换为垂直顺序或倾斜方式,最后只是指定第一个和最后一个带有点之间的点的观察。代码是为了证明我的观点。

我想知道有人可以提供帮助吗?谢谢

from datetime import date
import numpy as np
from pandas import *
import matplotlib.pyplot as plt

N = 100
data = np.array(np.random.randn(N))
time_index = date_range(date.today(), periods = len(data))
plt.plot(time_index, data)

1 个答案:

答案 0 :(得分:2)

对于你的简单情节,你可以做

plt.xticks(rotation=90).

或者,您可以使用

指定要显示的刻度
plt.xticks(<certain range of values>)
plt.xticklabels(<labels for those values>)

编辑:

就个人而言,我会改用pyplot的面向对象方式。

f = plt.figure()
ax = f.add_subplot(111)

ax.plot(<stuff>)
ax.tick_params(axis='x', labelsize='8')

plt.setp( ax.xaxis.get_majorticklabels(), rotation=90 )
# OR
xlabels = ax.get_xticklabels()
for label in xlabels:
    label.set_rotation(90)

plt.show()