In [1]:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY
from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc

%matplotlib inline

# (Year, month, day) tuples suffice as args for quotes_historical_yahoo
date1 = (2015, 1, 1)
date2 = (2015, 5, 30)

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

quotes1 = np.array(quotes_historical_yahoo_ohlc('INTC', date1, date2))
quotes2 = np.array(quotes_historical_yahoo_ohlc('MDC', date1, date2))
quotes3 = np.array(quotes_historical_yahoo_ohlc('MMM', date1, date2))

In [2]:
quotes1[:,1:5] = quotes1[:,1:5]/quotes1[:,1:5].mean()
quotes2[:,1:5] = quotes2[:,1:5]/quotes2[:,1:5].mean()+0.5
quotes3[:,1:5] = quotes3[:,1:5]/quotes3[:,1:5].mean()+1

In [3]:
fig, ax = plt.subplots()
fig.set_size_inches(20,15)
fig.subplots_adjust(bottom=0.2)
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)
ax.xaxis.set_major_formatter(weekFormatter)
#ax.xaxis.set_minor_formatter(dayFormatter)

#plot_day_summary(ax, quotes, ticksize=3)
candlestick_ohlc(ax, quotes1, width=0.6)
candlestick_ohlc(ax, quotes2, width=0.6)
candlestick_ohlc(ax, quotes3, width=0.6)


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

plt.show()