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