Matplotlib-转换后axis中的奇怪日期时间格式
我正在尝试将我的axis标签从修改的julian日期(自1858-11-17年以来的天数)转换为datetime。我得到了从float到datetime的转换,但是当我试图格式化轴标签只是为了显示Matplotlib-转换后axis中的奇怪日期时间格式,matplotlib,Matplotlib,我正在尝试将我的axis标签从修改的julian日期(自1858-11-17年以来的天数)转换为datetime。我得到了从float到datetime的转换,但是当我试图格式化轴标签只是为了显示%Y-%m-%d”时,我仍然在轴标签中得到%Y-%m-%d%H:%m:%S“ 这是我的转换代码: import datetime MJD0 = datetime.datetime(year=1858, month=11, day=17) def ConvertMJDDateTime(MJD):
%Y-%m-%d”
时,我仍然在轴标签中得到%Y-%m-%d%H:%m:%S“
这是我的转换代码:
import datetime
MJD0 = datetime.datetime(year=1858, month=11, day=17)
def ConvertMJDDateTime(MJD):
return MJD0 + datetime.timedelta(days=int(MJD))
以及我的打印格式代码:
labels = ax1.get_xticks()
datetimes = [ConvertMJDDateTime(t) for t in labels]
ax1.set_xticklabels(datetimes)
fig.autofmt_xdate()
import matplotlib.dates as mdates
yearsFmt = mdates.DateFormatter('%Y-%m-%d')
ax1.format_xdata = yearsFmt
提前多谢。这不是
format\u xdata
的功能(它控制鼠标在数据上的显示方式)。查看set\u major\u formatter()
此外,您几乎不应该使用set\u xtickslabels
这是危险的,会将刻度标签与数据分离。@tcaswell您建议使用什么来代替set\u xticklabels
?尝试使用set\u major\u formatter()
但年份格式出错