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
Messwerte visualisieren mit matplotlib
@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?
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?
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:
in der Zeile
wird zum Beispiel die Skalierung eingestellt..
hier wird wohl die Funktion abgebildet
.. 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
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()
Code: Alles auswählen
t = np.arange(0.0, 1.01, 0.01)
hier wird wohl die Funktion abgebildet
Code: Alles auswählen
s = np.sin(2*2*np.pi*t)
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
@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()
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()