简体   繁体   中英

python matplotlib - retrieve xaxis_major_locator as time value

I am plotting a timeserie with matplotlib (timeserie looks like the following): 在此处输入图片说明

Part of the code that i use sets major locator for each day at 0AM:

fig, ax = plt.subplots(figsize=(20, 3))
mpf.candlestick_ohlc(ax,quotes, width=0.01)
ax.xaxis_date()
ax.xaxis.set_major_locator(mpl.dates.DayLocator(interval=1) )

I would like to plot a darker background on the chart for each day between 16pm and 8am, and planning to use axvspan for that task. Considering that axvspan takes as argument axvspan(xmin, xmax) I was wondering if it would be possible to retrieve the xaxis_major_locator as ax value in order to pass it to axvspan as axvspan(xmin=major_locator-3600s, xmax=major_locator+3600s)

Edit: I found that function in the docs: http://matplotlib.org/2.0.0rc2/api/ticker_api.html#matplotlib.ticker.Locator

If anyone knows how to returns a list of ticker location from the Xaxis_major with it let me know. Thanks.

Edit2: if i use print(ax.xaxis.get_major_locator()) i receive as a return <matplotlib.dates.DayLocator object at 0x7f70f3b34090> How do i extarct a list of tick location from that?

好的找到了... Majors=ax.xaxis.get_majorticklocs()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM