Seite 1 von 1

Messwerte visualisieren mit matplotlib

Verfasst: Samstag 10. Juli 2010, 11:34
von alpha
Hallo Pythonforum,

ich habe mir jetzt eine Stunde die Matplotlib angeschaut und komme auf keinen grünen Zweig. Ich kann die Beispiele zwar ausprobieren nur verstehen tu ich sie leider nicht. Außerdem entsprechen sie überhaupt nicht dem was ich machen möchte. Ich möchte lediglich eine Tabelle von Daten die ich über der Zeit aufgenommen habe
als Kurven, jede in einem Diagramm untereinander darstellen.

Z.B.:
Zeit wert1 wert2...
43.1 25.3 345.6
43.2 34.6 2435.6
43.3 34.3 34.6
43.4 65.6 3456.23

In den Beispielen steht nirgends wie die Daten aussehen die dort angezeigt werden.. oder ich ich bin zu blind.. wie auch immer.
Hat jemand von euch schon einmal so etwas gemacht.

Danke im Vorraus und ein schönes WE ;-)
alpha

Re: Messwerte visualisieren mit matplotlib

Verfasst: Samstag 10. Juli 2010, 13:22
von BlackJack
@alpha: Wenn Du die Beispiele ausprobieren kannst, dann hast Du doch die Daten, ohne Daten würde ja nichts angezeigt!? Also kannst Du Dir die Beispieldaten doch auch anschauen!?

Und in der Beispielgallerie auf der Webseite ist ja zu jedem Beispiel auch der Quelltext dabei.

Wie hast Du die Daten denn vorliegen? In einer Datei? In welchem Format?

Re: Messwerte visualisieren mit matplotlib

Verfasst: Samstag 10. Juli 2010, 14:06
von alpha
Hallo BlackJack,

die Beispiele die ich laufen lassen konnte greifen auf berechnete Daten zurück.
Ich habe eine .csv file wie oben beschrieben. Zum Beispiel habe ich mir folgendes angeschaut:

Code: Alles auswählen

#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 1.01, 0.01)
s = np.sin(2*2*np.pi*t)

plt.fill(t, s*np.exp(-5*t), 'r')
plt.grid(True)
plt.show()
in der Zeile

Code: Alles auswählen

t = np.arange(0.0, 1.01, 0.01)
wird zum Beispiel die Skalierung eingestellt..

hier wird wohl die Funktion abgebildet

Code: Alles auswählen

s = np.sin(2*2*np.pi*t)
.. nur wie hilft mir das weiter..

In anderen Beispielen
z.B. http://matplotlib.sourceforge.net/examp ... _demo.html
(so ähnlich hätte ich das gerne)

2 Graphen übereinander.. nur eben mit derselben x-Skala

alpha

Re: Messwerte visualisieren mit matplotlib

Verfasst: Samstag 10. Juli 2010, 14:16
von BlackJack
@alpha: Dann musst Du halt schauen welche Funktionen `numpy` so zur Verfügung stellt um die Daten einzulesen. Und wie man `numpy.array`\s aus anderen "slice"t.

Code: Alles auswählen

import numpy
from matplotlib import pyplot

def main():
    input_data = '''\
43.1 25.3 345.6
43.2 34.6 2435.6
43.3 34.3 34.6
43.4 65.6 3456.23
'''

    data = numpy.fromstring(input_data, sep=' ')
    data.shape = (len(data) // 3, 3)
    pyplot.plot(data[:,0], data[:,1], 'b', data[:,0], data[:,2], 'g')
    pyplot.show()

if __name__ == '__main__':
    main()

Re: Messwerte visualisieren mit matplotlib

Verfasst: Samstag 10. Juli 2010, 14:27
von DaMutz
hier noch eine minimal Variante.

Code: Alles auswählen

import matplotlib.pyplot as plt

t = [43.1, 43.2, 43.3, 43.4]
y1 = [25.3, 34.6, 34.3, 65.6]
y2 = [345.6, 2435.6, 34.6, 3456.23]

plt.plot(t, y1, 'b-', t, y2, 'g-')
plt.show()

Re: Messwerte visualisieren mit matplotlib

Verfasst: Sonntag 11. Juli 2010, 13:23
von alpha
Hallo zusammen,

so einfach geht das... wenn man weiss wie.
Danke jetzt hab ich mal ne Basis auf der ich experimentieren kann.
8)

Grüße
alpha