2012-05-10 12 views
5

matplotlib.finance.candlestickを週末なしでプロットすることはできません(5つの燭台の間に空白があります)。 example from Matplotlib's websiteは週末も除外せず、the way to exclude weekends on other plotsはキャンドルスティックには当てはまりません。Pythonのmatplotlibの燭台を使用して平日のみプロットするにはどうすればよいですか?

誰もがこれまでに遭遇したことがありますか?

ps。要求されたとして、ここでは一例である:あなたの '引用符' 行の後

#!/usr/bin/env python 
from pylab import * 
from matplotlib.dates import DateFormatter, WeekdayLocator, HourLocator, \ 
DayLocator, MONDAY 
from matplotlib.finance import quotes_historical_yahoo, candlestick,\ 
plot_day_summary, candlestick2 

# (Year, month, day) tuples suffice as args for quotes_historical_yahoo 
date1 = (2004, 2, 1) 
date2 = (2004, 4, 12) 


mondays = WeekdayLocator(MONDAY)  # major ticks on the mondays 
alldays = DayLocator()    # minor ticks on the days 
weekFormatter = DateFormatter('%b %d') # Eg, Jan 12 
dayFormatter = DateFormatter('%d')  # Eg, 12 

quotes = quotes_historical_yahoo('INTC', date1, date2) 

fig = figure() 
fig.subplots_adjust(bottom=0.2) 
ax = fig.add_subplot(111) 
ax.xaxis.set_major_locator(mondays) 
ax.xaxis.set_minor_locator(alldays) 
ax.xaxis.set_major_formatter(weekFormatter) 

#plot_day_summary(ax, quotes, ticksize=3) 
candlestick(ax, quotes, width=0.6) 

ax.xaxis_date() 
ax.autoscale_view() 
setp(gca().get_xticklabels(), rotation=45, horizontalalignment='right') 

show() 
+0

最小限の例を投稿してください。 –

+0

@ Zhenya、ここに例があります:http://matplotlib.sourceforge.net/examples/pylab_examples/finance_demo.html?highlight=candlestick – Fred

+0

[MatPlotLibを使った日中の燭台のチャート]の複製が可能です。(http://stackoverflow.com/questions/9673988/intraday-candlestick-charts-using-matplotlib) – lanery

答えて

3

weekday_quotes = [tuple([i]+list(quote[1:])) for i,quote in enumerate(quotes)] 

その後、

candlestick(ax, weekday_quotes, width=0.6) 

これは今、平日の間に隙間なくデータをプロットしますxticksを日付、好ましくは月曜日に戻す必要があります。あなたの最初の引用は月曜日だったと仮定:

import matplotlib.dates as mdates 

ax.set_xticks(range(0,len(weekday_quotes),5)) 
ax.set_xticklabels([mdates.num2date(quotes[index][0]).strftime('%b-%d') for index in ax.get_xticks()]) 

これはかなりグロスですが、仕事を得るように思われる - 幸運!

関連する問題