我有以下图表(使用matplotlib绘制)。如您在x轴上看到的,一年中的天数显示为0-364之间的数字。
但是我想将x轴分成12个相等的部分。输出必须显示月份的名称,如Jan,Feb,Mar,...,Nov,Dec。在matplotlib上有没有已知的方法可以实现。
最佳答案
我认为您只想使用一个月定位器来绘制日期。
%matplotlib inline
from datetime import datetime
import numpy
from matplotlib import pyplot, dates, ticker
# setup your date values (arbitrary year)
oneday = datetime(1990, 1, 2) - datetime(1990, 1, 1)
start = datetime(1990, 1, 1)
end = datetime(1991, 1, 1)
date = dates.drange(start, end, oneday)
# make data
values = numpy.random.uniform(low=-5, high=10, size=365).cumsum()
# axis tooling
locator = dates.MonthLocator()
formatter = dates.DateFormatter('%b')
# plot things, use the locators
fig, ax = pyplot.subplots()
ax.plot_date(date, values, '-')
ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter(formatter)