【发布时间】:2017-03-17 20:08:56
【问题描述】:
我有以下情节(使用 matplotlib 绘制)。正如您在 x 轴上看到的,一年中的天数显示为 0-364 之间的数字。
但我想将 x 轴分成 12 个相等的部分。输出必须显示月份的名称为 Jan、Feb、Mar、...、Nov、Dec。在 matplotlib 上是否有任何已知的方法来实现。
【问题讨论】:
标签: python python-3.x matplotlib
我有以下情节(使用 matplotlib 绘制)。正如您在 x 轴上看到的,一年中的天数显示为 0-364 之间的数字。
但我想将 x 轴分成 12 个相等的部分。输出必须显示月份的名称为 Jan、Feb、Mar、...、Nov、Dec。在 matplotlib 上是否有任何已知的方法来实现。
【问题讨论】:
标签: python python-3.x 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)
【讨论】: