Matplotlib Candlestick (Intraday) Chart is One Big Blob Matplotlib Candlestick (Intraday) Chart is One Big Blob pandas pandas

Matplotlib Candlestick (Intraday) Chart is One Big Blob


Just change your width on the chart and it will be fine:

candlestick_ohlc(ax1, ohlc, width=0.001, colorup='#77d879', colordown='#db3f3f')

Tested using your data and it looks good.


It seems the undocumented width argument to candlestick_ohlc is the key. Multiply it by the fraction of a day between each of your data points. Since your data is in minute increments, this should do:

candlestick_ohlc(ax, tuples, width=.6/(24*60), colorup='g', alpha =.4);

To automate, use the difference between dates of successive data points. For example:

width=0.6/(mdates.date2num(dates[1])-mdates.date2num(dates[0]))

Note this turns out to be an FAQ, though the links are not obvious. See: