Bonjour
je suis débutant en python...dans le code ci-dessous j'ai un soucis avec la fenêtre de sélection de dossier. Elle ne se ferme pas si j'applique la fonction plotting_trials.
Si j'entre le chemin en dur, pas de soucis.
Je dois rater qqchose mais je ne vois pas
Merci à tous !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
import pickle
from matplotlib import pyplot as plt
import Tkinter, tkFileDialog
 
root = Tkinter.Tk()
dirname = tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a directory')
dirname_out=dirname + '/results/'
 
def plotting_trials(trial_number):
    outfile_trial_name=dirname_out + 'trial_name.p'
    outfile_trial_result=dirname_out + 'trial_result.p'
    outfile_trial_labels=dirname_out + 'trial_labels.p'
    outfile_trial_labels_time=dirname_out + 'trial_labels_time.p'
    outfile_trial_x=dirname_out + 'trial_x.p'
    outfile_trial_y=dirname_out + 'trial_y.p'
    outfile_trial_time=dirname_out + 'trial_time.p'
    outfile_trial_saccofinterest=dirname_out + 'trial_sacc_of_interest.p'
    outfile_trial_latency=dirname_out + 'trial_latency.p'
    #loading files
    trial_name = pickle.load(open(outfile_trial_name, 'rb'))
    trial_result=pickle.load(open(outfile_trial_result, 'rb'))
    trial_time=pickle.load(open(outfile_trial_time, 'rb'))
    trial_x=pickle.load(open(outfile_trial_x, 'rb'))
    trial_labels=pickle.load(open(outfile_trial_labels, 'rb'))
    trial_labels_time=pickle.load(open(outfile_trial_labels_time, 'rb'))
    trial_y=pickle.load(open(outfile_trial_y, 'rb'))
    saccofinterest=pickle.load(open(outfile_trial_saccofinterest, 'rb'))
    latency=pickle.load(open(outfile_trial_latency, 'rb'))
    #end loading files
 
    plt.figure(1)
    plt.subplot(211)
    plt.plot(trial_time[trial_number],trial_x[trial_number])
    plt.xlabel('Time [ms]')
    plt.ylabel('Eye Position [V]')
    for t in range(len(trial_labels_time[trial_number])-3): 
        plt.vlines(trial_labels_time[trial_number][t], -5, 5, colors='k')
        if (trial_labels[trial_number][t]=='Fixation'):
            plt.text(trial_labels_time[trial_number][t],4,trial_labels[trial_number][t],color='g')
        if (trial_labels[trial_number][t]=='TrialStart_'):
            plt.text(trial_labels_time[trial_number][t],3,trial_labels[trial_number][t],color='g')
        if (trial_labels[trial_number][t]=='Target'):
            plt.text(trial_labels_time[trial_number][t],3,trial_labels[trial_number][t],color='g') 
        if (trial_labels[trial_number][t]=='Target2'):
            plt.text(trial_labels_time[trial_number][t],2,trial_labels[trial_number][t],color='g') 
        if (trial_labels[trial_number][t]=='EndTrial'):
            plt.text(trial_labels_time[trial_number][t],4,trial_labels[trial_number][t],color='g') 
    plt.vlines(saccofinterest[trial_number], -5, 5, colors='r')
    titre='trial number: ' + str(trial_number)+ ', ' + trial_name[trial_number] + ', ' + trial_result[trial_number] + ' latency: ' + str(latency[trial_number]) + ' ms'
    plt.title(titre)
 
    plt.subplot(212)
    plt.plot(trial_time[trial_number],trial_y[trial_number])
 
    plt.vlines(saccofinterest[trial_number], -5, 5, colors='r')
    for t in range(len(trial_labels_time[trial_number])-3): 
        plt.vlines(trial_labels_time[trial_number][t], -5, 5, colors='k')
        if (trial_labels[trial_number][t]=='Fixation'):
            plt.text(trial_labels_time[trial_number][t],4,trial_labels[trial_number][t],color='g')
        if (trial_labels[trial_number][t]=='TrialStart_'):
            plt.text(trial_labels_time[trial_number][t],3,trial_labels[trial_number][t],color='g')
        if (trial_labels[trial_number][t]=='Target'):
            plt.text(trial_labels_time[trial_number][t],3,trial_labels[trial_number][t],color='g') 
        if (trial_labels[trial_number][t]=='Target2'):
            plt.text(trial_labels_time[trial_number][t],2,trial_labels[trial_number][t],color='g') 
        if (trial_labels[trial_number][t]=='EndTrial'):
            plt.text(trial_labels_time[trial_number][t],4,trial_labels[trial_number][t],color='g')      
    plt.xlabel('Time [ms]')
    plt.ylabel('Eye Position [V]')
    plt.show()
 
 
plotting_trials(11)