x轴值的Python matplotlib分组
我有以下绘图(使用matplotlib绘制)。正如您在x轴中看到的,一年中的天数显示为0-364之间的数字x轴值的Python matplotlib分组,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我有以下绘图(使用matplotlib绘制)。正如您在x轴中看到的,一年中的天数显示为0-364之间的数字 但是我想把x轴分成12等分。输出必须显示月份的名称,如1月、2月、3月、11月、12月。是否有已知的方法在matplotlib上实现这一点。我认为您只需要使用月份定位器绘制日期 %matplotlib inline from datetime import datetime import numpy from matplotlib import pyplot, dates, ticker
但是我想把x轴分成12等分。输出必须显示月份的名称,如1月、2月、3月、11月、12月。是否有已知的方法在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)
有一种已知的方法,请参见例如。顺便说一句,您可以在axis标签中引入LaTeX代码以获得更好的箭头,例如
plt.xlabel(r'Days$\rightarrow$)
。同样适用于图例、标题等。字符串前面的r
代表原始字符串。您提供的链接有帮助。我能把x轴分成12个相等的部分。但是我应该如何将0到364之间的整数值转换为月份呢?我试过了,就像你看到的那样,尽管这可能不是最好的解决方案。抱歉,我不知道如何在堆栈溢出时正确地在注释中发布代码。我希望您理解代码的思想,这样您就可以根据自己的问题进行调整。