I’m making a candlestick chart with two data sets: [open, high, low, close] and volume. I’m trying to overlay the volumes at the bottom of the chart like this:

I’m calling volume_overlay3 but instead of bars it fills the whole plot area. What am I doing wrong?

My other option is to use .bar(), which doesn’t have the up and down colors but would work if I could get the scale right:

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
candlestick(ax, candlesticks)
ax2 = ax.twinx()
volume_overlay3(ax2, quotes)
ax2.xaxis_date()
ax2.set_xlim(candlesticks[0][0], candlesticks[-1][0])
ax.yaxis.set_label_position("right")
ax.yaxis.tick_right()
ax2.yaxis.set_label_position("left")
ax2.yaxis.tick_left()
The volume_overlay3 did not work for me. So I tried your idea to add a bar plot to the candlestick plot.
After creating a twin axis for the volume re-position this axis (make it short) and modify the range of the candlestick y-data to avoid collisions.
data.csv is up here:
http://pastebin.com/5dwzUM6e