Code: Alles auswählen
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import re
import numpy as np
import matplotlib.pyplot as plt
import glob
import os.path
begin_file = open('Neuer_Ordner\Anfang_Messungen.txt','r')
for line in begin_file:
begin_wert = line.split()
#==============================================================================
files = glob.glob("*.txt")
#print(files)
for j in range(len(files)):
datei = files[j]
in_file = open(datei)
text = in_file.read()
s=re.findall(r'.*p9.*$',text,re.MULTILINE) #suchen nach p9 und die spalten danach
del s[0:2] #ersten beiden Zeilen weg wegen beschreibung
#Numpy kann aus einer Liste ein 1D-Array erzeugen.
#Aus einer Liste von Listen oder einer Liste von 1D-Arrays
#kann Numpy ein 2D-Array erzeugen.
x = np.array([np.fromstring(line[3:], sep=" ") for line in s])
#==============================================================================
fig = plt.figure(num=None, figsize=(12, 10), dpi=80, facecolor='w', edgecolor='k')
pltc = fig.add_subplot(1,1,1)
plt.gca().invert_yaxis()
tc = plt.plot(x[:,3],x[:,4], "bo-", label='TC')
plt.grid(True)
plt.ylabel(r'[$mm$]',fontsize=20)
plt.xlabel(r'[$ W/m/K$]',fontsize=20)
pltc.xaxis.label.set_color('blue')
pltd = pltc.twiny()
td = plt.plot(x[:,6],x[:,4], "ro-",label='TD')
plt.grid(True)
plt.xlabel(r'[$m^2/s\cdot 10^{-6}$]',fontsize=20)
pltd.xaxis.label.set_color('red')
for label in pltc.get_xticklabels():
label.set_color('b')
label.set_fontsize('18')
for label in pltd.get_xticklabels():
label.set_color('r')
label.set_fontsize('18')
for label in pltc.get_yticklabels():
label.set_fontsize('18')
plt.legend([tc[0], td[0]], ['TC', 'TD'])
#plt.show()
fig.savefig(os.path.splitext(files[j])[0] + '.pdf',
dpi=300, facecolor='w',
edgecolor='w', orientation='portrait',
papertype='letter')
#==============================================================================
Nun zu meinen Problem. Ich habe jetzt eine weitere txt (Anfang_Messungen) in denen die Anfangspunkte der Messungen steht in etwa so:
Probe_3 50
Probe_4 78
Probe_5 90
Probe_6 66
Probe_7 77
Probe_8 88
Probe_9 89
Probe_10 67
Probe_Tomo 56 u.s.w
Diese txt hat die gleiche länge wie die Eingeladenen files also j.
Ich hätte gern das für j=0 bei x in der vierten Spalte überall (len(x)) 50 dazu addiert wird und für j=1 soll 78 dazu addiert werden u.s.w.
Ich arbeite erst seit kurzen mit matlab und bekomm das nichtzusammen. :K Über hilfe würde ich mich freuen.