Cómo obtener una instancia de ejes matplotlib

1 minuto de lectura

avatar de usuario de kramer65
kramer65

Necesito hacer un gráfico de velas (algo así) usando algunos datos de acciones. Para esto quiero usar la función matplotlib.finance.candlestick(). Para esta función necesito proporcionar comillas y “una instancia de Axes para trazar“. Creé algunas citas de muestra de la siguiente manera:

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

Sin embargo, ahora también necesito una instancia de Axes, en la que estoy un poco perdido. Creé parcelas antes de usar matplotlib.pyplot. Creo que ahora necesito hacer algo con matplotlib.ejes aunque, pero no estoy seguro de qué exactamente.

¿Alguien podría ayudarme un poco aquí? ¡Todos los consejos son bienvenidos!

avatar de usuario de wim
ingenio

Utilizar el gca (“obtener ejes actuales”) función auxiliar:

ax = plt.gca()

Ejemplo:

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

ingrese la descripción de la imagen aquí

Tu también puedes

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

o

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

El primero te da más flexibilidad. El segundo es mucho más fácil si la vela es lo único que desea trazar

¿Ha sido útil esta solución?