由于您的问题对我来说并不完全清楚,我假设您想在最旧和最近的年份之间散点图所有输入日期时间条目(仅从给定的输入中选择)。
另外,这是我第一次尝试“matplotlib”库。所以,我只是希望下面的答案能引导你达到预期的结果。
import datetime
import numpy
import matplotlib.pyplot as plt
from matplotlib.dates import MONDAY
from matplotlib.dates import DateFormatter, MonthLocator, WeekdayLocator
from matplotlib.dates import date2num
# Input datetime series.
dt_series = ["2012-06-26", "2011-02-22", "2012-06-06", "2013-02-10", "2004-01-01", "2011-01-25", "2015-11-02"]
mondays = WeekdayLocator(MONDAY)
months = MonthLocator(range(1, 13), bymonthday=1, interval=6)
monthsFmt = DateFormatter("%b'%y")
# Loop to create our own X-axis and Y-axis values.
# mths is for X-axis values, which are months along with year.
# dates is for Y-axis values, which are dates.
mths = list()
dates = list()
for dt in dt_series:
mths.append(date2num(datetime.datetime.strptime(dt.replace('-', ''), "%Y%m%d")))
dates.append(numpy.float64(float(dt.split('-')[2])))
fig, ax = plt.subplots(squeeze=True)
ax.plot_date(mths, dates, 'o', tz=None, xdate=True, ydate=False)
ax.xaxis.set_major_locator(months)
ax.xaxis.set_major_formatter(monthsFmt)
ax.xaxis.set_minor_locator(mondays)
ax.autoscale_view()
ax.grid(True)
fig.autofmt_xdate()
plt.show()
我还建议您浏览我用作参考的以下链接:
http://matplotlib.org/examples/pylab_examples/date_demo2.html
谢谢