2017-07-16 3 views
0

Also, ich bin neu in Python. Ich habe 484 TXT-Dateien von Raumfahrzeugdaten. Die Dateien heißen WI_H0_MFI_1, WI_H0_MFI_2 ...... WI_H0_MFI_484. Ich möchte all diese 484 TXT-Dateien in einer einzigen Handlung darstellen, aber ich habe keinen Erfolg. Ich habe den folgenden Code verwendet, aber ohne Erfolg.Plotten in einem einzigen Plot in Python

import numpy as np 
import matplotlib.pyplot as plt 
filelist=[] 
for i in range(1,485): 
    filelist.append("/Users/Hrihaan/Desktop/WI_H0_MFI_%s.txt" %i) 
for fname in filelist: 
    data=np.loadtxt(fname) 
    x=data[:,1] 
    x_1= x - data[0,1] 
    x_2= x_1 - 86400 
    x_3 = x_2/3600 
    Y=data[:,2] 
    np.clip(Y,0,None) 
    plt.plot(x_3, np.clip(Y,0,None)) 
plt.show() 

Jede Hilfe würde sehr geschätzt werden.

+0

Willkommen hier auf Stack Overflow! Kannst du beschreiben, was nicht funktioniert? Was siehst du (oder siehst du nicht) und wie ist das anders als erwartet? – agtoever

+0

Danke für Ihre Antwort. Wenn ich data = np.loadtxt (fname) und print (fname) benutze, werden alle Dateinamen in der sequentiellen Reihenfolge ausgedruckt, aber ich bekomme nur 1 Plot einer txt-Datei, wo ich 484 Plots erwarten würde. Jeder Ratschlag, wie man sie durchläuft, wird sehr hilfreich sein. – Hrihaan

+0

Der Befehl, dem Computer die Anzeige des Plots mitzuteilen, lautet "plt.show". Im Moment steckst du es außerhalb der Schleife, und deshalb hast du nur einen Ausgabeplot (du siehst nur den zuletzt gemachten). Versuchen Sie, den Befehl innerhalb der Schleife zu setzen ;-) Das Problem, das Sie dann haben werden, ist, dass es langweilig ist, 484 Plots zu visualisieren ... Warum sie nicht speichern? –

Antwort

0

Ich würde es super einfach halten und die Dateien mit dem Terminalbefehl cat zuerst zusammenführen ... siehe enter link description here. Laden Sie dann die kombinierte Datei und den Plot.

Syntax: cat file1 newline file2 newline file3 > newfile

+0

Dies funktioniert, wenn Sie alle Datensätze als eine einzige plotten möchten. Wenn Sie jeden Datensatz getrennt darstellen müssen, gibt es einige zusätzliche Arbeit. –

+0

Danke albus_c für deine Antwort, ich möchte sie einzeln aber auf einer einzigen Handlung plotten. Also nach irgendwelchen Loop-Optionen suchen, die durch jeden von ihnen laufen und plotten. – Hrihaan

Verwandte Themen