StackTrace beim erstellen von TGraphErrors

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dude666
User
Beiträge: 1
Registriert: Sonntag 22. Dezember 2013, 11:31

Hi zusammen,

ich sitze gerade an einer Datenauswertung, dich ich mit python+ROOT machen möchte.
Dabei tritt allerdings ein Problem auf, das ich bisher noch nie hatte.
Ich hab hier mehrere Listen mit Daten, für die ich jeweils einen Graphen (TGraphErrors) erstellen will. Das plotten passiert in plotData(data,title):

Code: Alles auswählen

def plotData(data,title):
    N=len(data)
    #erstmal ganz viel zeugs zum konvertieren der Liste in Arrays und Fehlerberechnung und so
    #....
    gr = TGraphErrors(N,x,y,err_x,err_y)
    gr.SetTitle(title)
    gr.Draw(AP)
    update() #Aktualisiert das Canvas und wartet auf einer User-eingabe, damit sich das Canvas nicht wieder schließt
Die Methode ruf ich nur in einer for-Schleife mehrfach für verschiedene Listen auf:

Code: Alles auswählen

for i,datalist in enumerate(datalists):
    plotData(datalist,titles[i])
Das Problem ist nun, dass der erste Plot funktioniert wie gewollt. Aber beim zweiten Aufrufen von plotData() wird an der Stelle gr = TGraphErrors(...) in der Konsole ein StackTrace ausgegeben und "python.exe funktioniert nicht mehr".

Weiß jemand was ich da falsch gemacht habe?

Viele Grüße,
Dude
Sirius3
User
Beiträge: 17748
Registriert: Sonntag 21. Oktober 2012, 17:20

@dude666: jetzt wär's noch schön zu wissen, was denn als Fehler ausgegeben wird.
Antworten