Python Matplotlib中x轴标签的频率和旋转

Python Matplotlib中x轴标签的频率和旋转,python,python-2.7,matplotlib,Python,Python 2.7,Matplotlib,我在下面编写了一个简单的脚本,用matplotlib生成一个图形。我想将x-tick频率从每月增加到每周,并轮换标签。我不确定从何处开始x轴频率。我的旋转行产生错误:TypeError:set_xticks()获取了意外的关键字参数“rotation”。对于旋转,我不希望使用plt.xticks(rotation=70),因为我最终可能会构建多个子地块,其中一些应该有旋转轴,而另一些不应该有旋转轴 import datetime import matplotlib import matplotl

我在下面编写了一个简单的脚本,用matplotlib生成一个图形。我想将x-tick频率从每月增加到每周,并轮换标签。我不确定从何处开始x轴频率。我的旋转行产生错误:
TypeError:set_xticks()获取了意外的关键字参数“rotation”
。对于旋转,我不希望使用
plt.xticks(rotation=70)
,因为我最终可能会构建多个子地块,其中一些应该有旋转轴,而另一些不应该有旋转轴

import datetime
import matplotlib
import matplotlib.pyplot as plt
from datetime import date, datetime, timedelta

def date_increments(start, end, delta):
    curr = start
    while curr <= end:
        yield curr
        curr += delta

x_values = [[res] for res in date_increments(date(2014, 1, 1), date(2014, 12, 31), timedelta(days=1))]
print len(x_values)
y_values = [x**2 for x in range(len(x_values))]
print len(y_values)
fig = plt.figure()

ax = fig.add_subplot(111)
ax.plot(x_values, y_values)
ax.set_xticks(rotation=70)
plt.show()
导入日期时间
导入matplotlib
将matplotlib.pyplot作为plt导入
从日期时间导入日期、日期时间、时间增量
def日期增量(开始、结束、增量):
curr=开始

而curr请查看
matplotlib.dates
,尤其是在

勾选频率

您可能希望执行以下操作:

from matplotlib.dates import DateFormatter, DayLocator, MonthLocator
days = DayLocator()
months = MonthLocator()

months_f = DateFormatter('%m')

ax.xaxis.set_major_locator(months)
ax.xaxis.set_minor_locator(days)
ax.xaxis.set_major_formatter(months_f)

ax.xaxis_date()
这将把日标为小刻度,把月标为大刻度,并用月号标记

标签的旋转

您可以使用
plt.setp()
单独更改轴:

plt.setp(ax.get_xticklabels(), rotation=70, horizontalalignment='right')
希望这有帮助