答案 0 :(得分:1)
可以使用“ set_major_locator(mdates.DayLocator(interval = 5))”来更改主要刻度的频率,如下例所示。
每天打印日期以获取3个月的数据,这会导致X轴非常拥挤。因此,可能值得将主要刻度线设置为每5天一次,然后每天设置次要刻度线,如下例所示。
我也建议您看看matplotlib的example和非常相似的question。
示例:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
# Just creating some random data
x = []
day = 1
month = 5
for ix in range(90):
try:
x.append(datetime(2000, month, day))
day +=1
except ValueError:
day = 1
month += 1
y = np.random.uniform(0, 10, len(x))
fig = plt.figure()
ax = fig.add_subplot(111)
ax.xaxis.set_minor_locator(mdates.DayLocator(interval=1))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=5))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.plot(x, y)
fig.autofmt_xdate()
ax.grid(True)
plt.show()
这将给出这样的图(数据由于其随机性而有所不同),每天的次要刻度线和每5天带有标签的主要刻度线。