2016-03-05 2 views
3

J'ai un texte et je veux faire un graphique de la lettre-fréquence toutes les phrases n. J'ai ce code pour faire un graphique:Matplotlib faire plusieurs graphiques et utiliser la flèche pour changer - Python

def graphic(dic): 
    x = list(range(len(dic))) 
    liste = [] 
    valeur = [] 
    for i in dic: 
     liste += [(dic[i],i)] 
     valeur += [dic[i]] 
    liste.sort() 
    liste.reverse() 
    valeur.sort() 
    valeur.reverse() 
    my_xticks = [] 
    for i in liste: 
     my_xticks += i[1] 
    xticks(x, my_xticks) 
    plot(x,valeur); show() 
    return liste,valeur 

Il me retourne ceci:

enter image description here

Mon point est, je veux utiliser les flèches en haut de la fenêtre pour changer une graphique à un autre. Est-ce possible? Par exemple, j'ai un texte avec 10 phrases, et je veux faire un graphique toutes les 1 phrase. Donc, je vais avoir 10 graphiques et je veux pouvoir naviguer avec les flèches mais quand j'appelle la fonction deux fois, ça me dessine 2 graphes sur la même page.

Répondre

1

Vous pouvez accéder aux boutons et changer leurs callbacks:

import matplotlib.pyplot as plt 

def callback_left_button(event): 
    ''' this function gets called if we hit the left button''' 
    print('Left button pressed') 


def callback_right_button(event): 
    ''' this function gets called if we hit the left button''' 
    print('Right button pressed') 

fig = plt.figure() 

toolbar_elements = fig.canvas.toolbar.children() 
left_button = toolbar_elements[6] 
right_button = toolbar_elements[8] 

left_button.clicked.connect(callback_left_button) 
right_button.clicked.connect(callback_right_button) 
+0

Merci qui est exactement ce que je avais besoin! – pioupiou1211