116 votes

Comment obtenir une instance Axes de matplotlib pour tracer ?

J'ai besoin de créer un graphique en chandelier (quelque chose comme ceci) en utilisant des données boursières. Pour cela, je veux utiliser la fonction matplotlib.finance.candlestick() . Pour cette fonction, je dois fournir des guillemets et " une instance d'axe pour le tracé ". 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 besoin d'une instance Axes, mais je suis un peu perdu. J'ai déjà créé des graphiques en utilisant matplotlib.pyplot. Je pense que je dois maintenant faire quelque chose avec matplotlib.axes mais je ne sais pas exactement quoi.

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

227voto

wim Points 35274

Utilisez le gca ("get current axes") fonction d'aide :

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

21voto

Vous pouvez soit

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

o

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 le chandelier est la seule chose que vous voulez tracer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X