ich habe als output eines Simulationstools (NREL FAST) eine txt mit ~100 Spalten und ~90k Zeilen als output. Darin enthalten sind einfache Zahlenwerte. Ich kann erfolgreich die Tabelle mittels numpy loadtxt einlesen (skiprows=8 um den Header auszulassen) und auch die Spalten beliebig gegeneinander plotten (1. Spalte ist die Zeit, die anderen, sind verschiedene Kräfte, Verschiebungen, etc.).
Code: Alles auswählen
import numpy as np
import matplotlib.pyplot as plt
a=np.loadtxt('test.txt', skiprows=8)
fig, ax = plt.subplots() # start new figure to plot in
ax.plot(a[:,0],a[:,36]) # Plot TwrBsFxt
ax.grid(True) # Switch Grid
plt.ylabel('Force at tower base in x-direction in kN')
plt.xlabel('Time in s')
plt.tight_layout() # Tight layout, minimal borders
plt.savefig('TwrBsFxt.eps', format='eps', dpi=1000)
plt.savefig('TwrBsFxt.png', format='png', dpi=1000)
In Zeile 7 der txt stehen die Bezeichnungen der einzelnen Spalten. Ich würde nun gerne mein Plot-Script so ergänzen, dass der Plot-Befehl in Abhängigkeit der Variablen in Zeile 7 ausgeführt wird.
Angenommen in Spalte 0 steht die Variable "Zeit", in Spalte 37 die variable "X-Force" dann möchte ich gerne, dass das Script die Zeile 7 der txt nach "X-Force" durchsucht und in Abhängigkeit davon die jeweilige Spalte gegen die Spalte "Zeit" plottet.
Dazu müsste ich aber glaube ich extra nochmal die Spalte 7 einlesen, nach "X-Force" suchen und den entsprechenden Spaltenwert ermitteln lassen. Die ersten Spalten könnte ich in genfromtxt per
Code: Alles auswählen
skip_header
Code: Alles auswählen
skip_footer
Für Hilfe wäre ich hier dankbar.