2
我试图获取一个数据框列以在图表上显示日期作为示例“Jan 15,Feb 15等”。但它显示为“Feb 115,Mar 115等”我试图用matplotlib.ticker来修改一些代码。但是图表没有轴出来。这是代码的简化版本,不起作用。如何在x轴上为matplotlib格式化日期
import matplotlib.pyplot as plt
import matplotlib.ticker as tkr
# create figure instance
fig1 = plt.figure(1)
ax = fig1.add_subplot(2,1,1)
x = 41640, 41671, 41699, 41730, 41760, 41791
y = 1, 4, 7, 9, 15, 18
ax.get_xaxis().set_major_formatter(
tkr.FuncFormatter(lambda x, p: format((x), '%b %y')))
ax.plot_date(x, y)
fig1.show()
哈!如果你将你的数字解释为Julian日期,115是一年。你的号码修改了朱利安日期(MJD),还有其他什么?在任何情况下,标准python格式()都假定输入的格式片数量很多;你可能想从matplotlib.dates或datetime中得到一些东西。 – mdurant 2014-09-22 15:13:33
@mdurant,不确定。我从MS Excel导入日期,我试着将数据预处理成不同的格式,但得到了相同的结果。我的意思是如果我加载日期格式MMM-YY例如可以matplotlib工作与否?或者即使我加载01/12/2014或任何格式。这可能是因为美国和英国的日期格式。 – IcemanBerlin 2014-09-23 07:33:28
你知道日期应该是什么吗? 如果他们是MJD,您需要添加2400000转换为JD和matplotlib.dates.julian2num(或减去1721424)以转换为“preleptic Gregorian”,这是您所需要的。 – mdurant 2014-09-23 14:35:16