Pandas timeseries繪制設置x軸主要和次要刻度和標簽我希望能夠為從Pandas時間序列對象繪制的時間序列圖設置主要和次要xticks及其標簽。熊貓0.9“什么是新的”頁面說:“您可以使用to_pydatetime或為Timestamp類型注冊轉換器”但我無法弄清楚如何做到這一點,以便我可以使用matplotlib ax.xaxis.set_major_locator和ax.xaxis.set_major_formatter(和次要)命令。如果我在不轉換熊貓時間的情況下使用它們,則x軸刻度和標簽最終會出錯。通過使用'xticks'參數,我可以將主刻度傳遞給pandas.plot,然后設置主刻度標簽。我無法弄清楚如何使用這種方法進行次要滴答。(我可以在pandas.plot設置的默認次要刻度上設置標簽)這是我的測試代碼:import pandasprint 'pandas.__version__ is ', pandas.__version__print 'matplotlib.__version__ is ', matplotlib.__version__
dStart = datetime.datetime(2011,5,1) # 1 MaydEnd = datetime.datetime(2011,7,1) # 1 July dateIndex = pandas.date_range(start=dStart, end=dEnd, freq='D')print "1 May to 1 July 2011", dateIndex
testSeries = pandas.Series(data=np.random.randn(len(dateIndex)),
index=dateIndex) ax = plt.figure(figsize=(7,4), dpi=300).add_subplot(111)testSeries.plot(ax=ax, style='v-', label='first line') # using MatPlotLib date time locators and formatters doesn't work with new# pandas datetime indexax.xaxis.set_minor_locator(matplotlib.dates.WeekdayLocator(byweekday=(1),
interval=1))ax.xaxis.set_minor_formatter(matplotlib.dates.DateFormatter('%d\n%a'))ax.xaxis.grid(True, which="minor")ax.xaxis.grid(False, which="major")ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('\n\n\n%b%Y'))plt.show() # set the major xticks and labels through pandasax2 = plt.figure(figsize=(7,4), dpi=300).add_subplot(111)xticks = pandas.date_range(start=dStart, end=dEnd, freq='W-Tue')print "xticks: ", xticks
testSeries.plot(ax=ax2, style='-v', label='second line',
添加回答
舉報
0/150
提交
取消