Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
x轴值的Python matplotlib分组_Python_Python 3.x_Matplotlib - Fatal编程技术网

x轴值的Python matplotlib分组

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

我有以下绘图(使用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

# 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之间的整数值转换为月份呢?我试过了,就像你看到的那样,尽管这可能不是最好的解决方案。抱歉,我不知道如何在堆栈溢出时正确地在注释中发布代码。我希望您理解代码的思想,这样您就可以根据自己的问题进行调整。