Seite 1 von 1

Textdatei als Liniendiagramm ausgeben

Verfasst: Mittwoch 31. Oktober 2018, 09:50
von Beckoeu
Hallo

ich bin neu im Forum.
Und habe eine Text-Datei mit ungefähr zwanzig Werten, die alle untereinander stehen. Die Werte in der Datei sollen die y-Werte darstellen.
Jetzt wollte ich die Werte als Liniendiagramm darstellen, was auch mit dem Code funktioniert.

Nun habe ich aber das Problem, das die Achsenbeschriftung nicht mit angezeigt wird.
Außerdem wollte ich, dass die y-Werte nicht einen Abstand von 1 Sekunde, sondern einen von 10 Sekunden haben.

Code: Alles auswählen

import numpy as np
import matplotlib.pyplot as plt
import sys
import pandas as Pandas

try:
    data = pandas.read_csv("Test.txt")
except:
    print("Dateizugriff nicht erfolgreich")
    sys.exit(0)

var = data.groupby(level = 0).sum()
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)

ax1.set_xlabel('Zeit / s')
ax1.set_ylabel('y-Werte')
var.plot(kind='line')

plt.show()

Re: Textdatei als Liniendiagramm ausgeben

Verfasst: Mittwoch 31. Oktober 2018, 13:37
von ThomasL
Versuche es mal so

Code: Alles auswählen

summe = data.groupby(level = 0).sum()
summe.plot(kind='line')
plt.title('Titel')
plt.ylabel('y-Werte')
plt.xlabel('Zeit / s')
plt.show()
oder so

Code: Alles auswählen

summe = data.groupby(level = 0).sum()
ax = summe.plot(kind='line')
ax.set_title('Titel')
ax.set_ylabel('y-Werte')
ax.set_xlabel('Zeit / s')

Re: Textdatei als Liniendiagramm ausgeben

Verfasst: Samstag 3. November 2018, 14:18
von Beckoeu
Hallo
ich glaube, dass ich es jetzt selber hin bekommen habe.

Code: Alles auswählen

import numpy as np
import matplotlib.pyplot as plt
import sys
import pandas as pandas
lines = []

#Versuch die Datei zu öffnen,

try:
    #obj = pandas.read_csv("Test.txt", "r")
except:
    print("Dateizugriff nicht erfolgreich")
    sys.exit(0)

#iterrows() gibt den index und den Wert jeder Zeile einer Datei aus
#append() fügt die Werte der Datei in ein Array
for index, line in obj.iterrows():
    lines.append(line)

#array() erstellt ein Array/Liste aus den lines-Werten
C = np.array(lines)

#linspace(start, stop, Anzahl der Elemente
#Elemente sollen Abstand von 10ns haben
x = np.linspace(0, len(lines)*10, num = len(lines))

plt.plot(x, C, 'r', label='Originalsignal')
plt.xlabel('Zeit / ns')
plt.ylabel('Spannung / V')
plt.title('Messung 1')
plt.legend(loc='best')
plt.show()

Re: Textdatei als Liniendiagramm ausgeben

Verfasst: Samstag 3. November 2018, 15:34
von ThomasL
Wenn du pandas nicht benötigst, kannst du den Import auch weglassen, insbesondere das "pandas as pandas" macht keinen Sinn, üblich ist "import pandas as pd".