python
  • matplotlib
  • pandas
  • ipython
  • 2013-10-03 4 views 1 likes 
    1

    J'utilise le code suivant pour afficher les données de stock:Ajouter des flèches au stock graphique

    from pandas.io.data import get_data_yahoo 
    import matplotlib.pyplot as plt 
    data = get_data_yahoo("ADS", start = '2012-01-01', end = '2012-12-31')[['Close','Volume']] 
    data.plot(subplots = True, figsize = (8, 8)); 
    plt.title('Adidas-Aktie 2012') 
    plt.legend(loc = 'best') 
    plt.show() 
    

    à certaines positions de date, je voudrais ajouter des flèches pointant directement sur le graphique. Comment puis-je faire cela?

    +0

    Bienvenue sur SO, Gigi Hofleitner. – Brian

    +2

    [vérifier le texte d'annotation dans Matplotlib] (http://matplotlib.org/users/annotations_intro.html) –

    +0

    Ok, merci! J'ai vérifié cela avant, mais je ne sais pas exactement, comment accéder à la sous-intrigue. Encore une fois, je suis un débutant ... :-) –

    Répondre

    1

    Essayez,

    from pandas.io.data import get_data_yahoo 
    import matplotlib.pyplot as plt 
    data = get_data_yahoo("ADS", start = '2012-01-01', end = '2012-12-31' [['Close','Volume']] 
    ax = data.plot(subplots = True, figsize = (8, 8)); 
    plt.title('Adidas-Aktie 2012') 
    plt.legend(loc = 'best') 
    ax[0].annotate('your text',xy =(locx,locy), xytext=(locx,locy), arrowprops = dict(facecolor = 'black')) # assuming the you want to annotate the first plot 
    plt.show() 
    

    Dans le code ci-dessus, (LocX, Locy) est l'emplacement du texte où vous voulez que votre annotation

    +0

    J'ai essayé la même chose en parallèle et cela a fonctionné, merci beaucoup pour votre aide! Mon problème était que je ne savais pas, comment accéder à chaque données de sous-parcelle. # - * - codage: utf-8 - * - de get_data_yahoo import pandas.io.data de import datetime datetime matplotlib.pyplot d'importation comme plt data = get_data_yahoo ("ADS", start = « 2007-01- 01 ', end =' 2013-10-01 ') [[' Fermer ',' Volume ']] ax1 = data.plot (sous-placettes = Vrai, figsize = (8, 8)); ax1 [0] .annotate ("test", xy = (dateheure (2012, 03, 01), 130), arrowprops = dict (facecolor = 'rouge')) plt.title ('Adidas-Aktie 2012') plt.legend (loc = 'meilleur') plt.show() –

    Questions connexes