当日期在 x 轴上时,如何将 x 轴间隔设置为月?
When dates are on the x axis, how do i set the x axis intervals to months?
嗨,我有 2 个数组,它们位于:
array1 = [datetime.date(2014, 3, 3), datetime.date(2014, 2, 19), datetime.date(2014, 7, 13), datetime.date(2014, 5, 11), datetime.date(2014, 6, 13), datetime.date(2014, 1, 20)]
array2 = 1,5,8,9,4,6
这是我必须绘制 2 个数组的代码:
plt.plot_date((aray1), (array2), 'ro')
plt.xticks(rotation=45)
plt.xlabel('Date', fontsize=12)
plt.ylabel('Quantity', fontsize=12)
plt.savefig('plot4.png')
我的数组比上面的数组大很多,所以我的日期被挤在一起,不适合 x 轴。那么,如何将 x 轴间隔设置为月,以便我绘制的日期可以插入正确的月份?
好吧,尽管如此,您提供的数据集并没有重现问题:您正在寻找的是 matplotlib example 应用于您的数据的确切用例。
import numpy
from datetime import datetime
from matplotlib import pyplot as plt
from matplotlib.dates import DateFormatter, MonthLocator
t = numpy.array([datetime(2014, 3, 3),
datetime(2014, 2, 19),
datetime(2014, 7, 13),
datetime(2014, 5, 11),
datetime(2014, 6, 13),
datetime(2014, 1, 20)])
values = numpy.array([1, 5, 8, 9, 4, 6])
fig, ax = plt.subplots()
ax.plot_date(t, values, 'ro')
plt.xticks(rotation=45)
plt.xlabel('Date', fontsize=12)
plt.ylabel('Quantity', fontsize=12)
months = MonthLocator()
monthsFmt = DateFormatter("%b '%y")
ax.xaxis.set_major_locator(months)
ax.xaxis.set_major_formatter(monthsFmt)
plt.show()
嗨,我有 2 个数组,它们位于:
array1 = [datetime.date(2014, 3, 3), datetime.date(2014, 2, 19), datetime.date(2014, 7, 13), datetime.date(2014, 5, 11), datetime.date(2014, 6, 13), datetime.date(2014, 1, 20)]
array2 = 1,5,8,9,4,6
这是我必须绘制 2 个数组的代码:
plt.plot_date((aray1), (array2), 'ro')
plt.xticks(rotation=45)
plt.xlabel('Date', fontsize=12)
plt.ylabel('Quantity', fontsize=12)
plt.savefig('plot4.png')
我的数组比上面的数组大很多,所以我的日期被挤在一起,不适合 x 轴。那么,如何将 x 轴间隔设置为月,以便我绘制的日期可以插入正确的月份?
好吧,尽管如此,您提供的数据集并没有重现问题:您正在寻找的是 matplotlib example 应用于您的数据的确切用例。
import numpy
from datetime import datetime
from matplotlib import pyplot as plt
from matplotlib.dates import DateFormatter, MonthLocator
t = numpy.array([datetime(2014, 3, 3),
datetime(2014, 2, 19),
datetime(2014, 7, 13),
datetime(2014, 5, 11),
datetime(2014, 6, 13),
datetime(2014, 1, 20)])
values = numpy.array([1, 5, 8, 9, 4, 6])
fig, ax = plt.subplots()
ax.plot_date(t, values, 'ro')
plt.xticks(rotation=45)
plt.xlabel('Date', fontsize=12)
plt.ylabel('Quantity', fontsize=12)
months = MonthLocator()
monthsFmt = DateFormatter("%b '%y")
ax.xaxis.set_major_locator(months)
ax.xaxis.set_major_formatter(monthsFmt)
plt.show()