web-dev-qa-db-fra.com

Comment obtenir une instance de matplotlib Axes à laquelle tracer?

Je dois créer un graphique en chandeliers (quelque chose comme cela) en utilisant certaines données boursières. Pour cela, je veux utiliser la fonction matplotlib.finance.candlestick () . Pour cette fonction, j'ai besoin de fournir des guillemets et " une instance d'Axes à tracer vers ". J'ai créé quelques exemples de citations comme suit:

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)]

J'ai maintenant aussi besoin d'une instance d'Axes, où je suis un peu perdu. J'ai créé des graphiques avant d'utiliser matplotlib.pyplot. Je pense que je dois maintenant faire quelque chose avec matplotlib.axes bien, mais je ne sais pas quoi exactement.

Quelqu'un pourrait-il m'aider un peu ici? Tous les conseils sont les bienvenus!

55
kramer65

Utilisez la fonction d'assistance gca ("obtenir les axes actuels"):

ax = plt.gca()

Exemple:

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

110
wim

Vous pouvez soit

fig, ax = plt.subplots()  #create figure and axes
candlestick(ax, quotes, ...)

ou

candlestick(plt.gca(), quotes) #get the axis when calling the function

Le premier vous donne plus de flexibilité. La seconde est beaucoup plus facile si chandelier est la seule chose que vous voulez tracer

10
Francesco Montesano