Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get a matplotlib Axes instance to plot to?

I need to make a candlestick chart (something like this) using some stock data. For this I want to use the function matplotlib.finance.candlestick(). To this function I need to supply quotes and "an Axes instance to plot to". I created some sample quotes as follows:

quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] 

I now also need an Axes instance though, at which I am a bit lost. I created plots before using matplotlib.pyplot. I think I now need to do something with matplotlib.axes though, but I am unsure what exactly.

Could anybody help me out a little bit here? All tips are welcome!

like image 658
kramer65 Avatar asked Feb 25 '13 13:02

kramer65


People also ask

How do I get the current axis in matplotlib?

The gca() function in pyplot module of matplotlib library is used to get the current Axes instance on the current figure matching the given keyword args, or create one.

What does PLT axis () do?

axis() method allows you to set the x and y limits with a single call, by passing a list which specifies [xmin, xmax, ymin, ymax] : In [11]: plt. plot(x, np.


1 Answers

Use the gca ("get current axes") helper function:

ax = plt.gca() 

Example:

import matplotlib.pyplot as plt import matplotlib.finance quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] ax = plt.gca() h = matplotlib.finance.candlestick(ax, quotes) plt.show() 

enter image description here

like image 104
wim Avatar answered Sep 29 '22 14:09

wim