Python 3.x 仅在matplotlib绘图的轴中保留年份和月份

Python 3.x 仅在matplotlib绘图的轴中保留年份和月份,python-3.x,matplotlib,plot,axis-labels,python-datetime,Python 3.x,Matplotlib,Plot,Axis Labels,Python Datetime,当使用datetime对象作为matplotlib绘图中的轴标记时,我只想报告年份和月份。但是,使用下面的代码,x轴还包括天、小时、分和秒。有没有一个简单的方法来删除这些,这样就只剩下月份和年份了 格式并不重要。也就是说,它可以是像2015-12或者像2015年12月那样 import matplotlib.pyplot as plt import datetime fig, ax = plt.subplots() arr = [1,2,3,4] ax.scatter(arr, arr) fir

当使用
datetime
对象作为matplotlib绘图中的轴标记时,我只想报告年份和月份。但是,使用下面的代码,x轴还包括天、小时、分和秒。有没有一个简单的方法来删除这些,这样就只剩下月份和年份了

格式并不重要。也就是说,它可以是像2015-12或者像2015年12月那样

import matplotlib.pyplot as plt
import datetime
fig, ax = plt.subplots()
arr = [1,2,3,4]
ax.scatter(arr, arr)
firstDate = datetime.datetime(2010, 12, 18)
ticks = ax.get_xticks()
ax.xaxis.set_ticklabels([ firstDate+datetime.timedelta(7*tick) for tick in ticks])
plt.xticks(fontsize=12, rotation=90)
plt.show()    

是否有理由不将x参数转换为datetime列表或numpy.datenum64?然后你可以使用自动日期标记。。。或者指定如果没有,则可以使用datetime.strftime格式化勾号