Plot Punkte mit einander verbinden?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Basilius Sapientia
User
Beiträge: 46
Registriert: Freitag 5. September 2014, 22:34

Liebe Ihr!

Heute meine letzte Frage. Und vielen Dank für die viele Hilfe! Ich merke, dass ich viel lerne! Also ich habe folgenden Code:

Code: Alles auswählen

import numpy
import matplotlib.pyplot as plt
Temp, X1, X2 = numpy.loadtxt("dataafl.csv", skiprows=1, unpack=True)
fig = plt.figure()
ax1 = fig.add_subplot(111)

ax1.scatter(X1, Temp, s=10, c='r', marker="x", label='$Temp(X1)$')
ax1.scatter(X2,Temp, s=10, c='r', marker="o", label='$Temp(X2)$')
plt.legend(loc='upper right')
plt.axis([ 130, 900, 293000, 315000])
plt.xlabel('Temperatur $[K]$')
plt.ylabel('B $[cm^{3} mol^{-1}]$')
plt.title('Her ses grafen $B(T)$')
plt.grid(True)
plt.show()
Auf meinem Plot würde ich gerne die Punkte weich miteinander verbinden. Wie geht das? Meinetwegen auch durch einen curvefit [bei dem curvefit allerdings dann eine regression mit einem polynomium dritten grades für "beide" plots einzeln].

Vielleicht kann mir Jemand hier noch ein letztes Mal helfen?
BlackJack

@Basilius Sapientia: Ein „scatter plot” zeichnet sich ja gerade dadurch aus, dass die Punkte nicht verbunden sind. Also ist `scatter` die falsche Methode. Schau doch einfach mal in die Gallerie auf der Matplotlib-Webseite nach einem Plot der dem was Du haben möchtest am nächsten kommt.
Basilius Sapientia
User
Beiträge: 46
Registriert: Freitag 5. September 2014, 22:34

BlackJack hat geschrieben:@Basilius Sapientia: Ein „scatter plot” zeichnet sich ja gerade dadurch aus, dass die Punkte nicht verbunden sind. Also ist `scatter` die falsche Methode. Schau doch einfach mal in die Gallerie auf der Matplotlib-Webseite nach einem Plot der dem was Du haben möchtest am nächsten kommt.
Vielen Dank! Das habe ich jetzt auch gemacht :-) ... hier mein neuer Quelltext;

Code: Alles auswählen

import numpy
import matplotlib.pyplot as plt
Temp, X1, X2 = numpy.loadtxt("dataafl.csv", skiprows=1, unpack=True)
fig = plt.figure()

plt.plot(X1, Temp,  c='r', marker="x", label='$Temp(X1)$')
plt.plot(X2,Temp,  c='r', marker="o", label='$Temp(X2)$')
plt.legend(loc='upper right')
plt.axis([ 130, 900, 293000, 315000])
plt.xlabel('Temperatur $[K]$')
plt.ylabel('B $[cm^{3} mol^{-1}]$')
plt.title('Her ses grafen $B(T)$')
plt.grid(True)
plt.show()
Allerdings gibt es da noch ein allerletztes Problem: die zwei Obersten Datenpunkte [weil es ja zwei Plots sind] werden nicht verbunden.

Hier meine Daten:
Temp X1 X2
309.820 0.473 0.529
309.422 0.400 0.601
309.031 0.371 0.625
308.006 0.326 0.657
306.686 0.293 0.690
304.553 0.255 0.724
301.803 0.218 0.758
299.097 0.193 0.783
296.000 0.168 0.804
294.534 0.157 0.814
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Basilius Sapientia hat geschrieben:Allerdings gibt es da noch ein allerletztes Problem: die zwei Obersten Datenpunkte [weil es ja zwei Plots sind] werden nicht verbunden.
Möchtest Du die einzelnen Punkte in der Kurve X1 miteinander verbinden (und das gleiche auch für X2)?

Code: Alles auswählen

plt.plot(X1, Temp, "x-", c='r', label='$Temp(X1)$')
plt.plot(X2, Temp, "o-", c='r', label='$Temp(X2)$')
Möchtest Du aus den Kurven X1 und X2 eine Kurve machen?
a fool with a tool is still a fool, www.magben.de, YouTube
Basilius Sapientia
User
Beiträge: 46
Registriert: Freitag 5. September 2014, 22:34

MagBen hat geschrieben:
Basilius Sapientia hat geschrieben:Allerdings gibt es da noch ein allerletztes Problem: die zwei Obersten Datenpunkte [weil es ja zwei Plots sind] werden nicht verbunden.
Möchtest Du die einzelnen Punkte in der Kurve X1 miteinander verbinden (und das gleiche auch für X2)?

Code: Alles auswählen

plt.plot(X1, Temp, "x-", c='r', label='$Temp(X1)$')
plt.plot(X2, Temp, "o-", c='r', label='$Temp(X2)$')
Möchtest Du aus den Kurven X1 und X2 eine Kurve machen?
Ja, ich würde gerne die Datenpunkte mit einander verbinden (auch zwischen den beiden Datenpunkten). Die zwei Datenreihen ergeben eine "schöne" Kurve. Die Daten müssen nur mit einander verbunden werden. und ich weiß nicht wie. Habe es bis jetzt geschafft die einzelnen Reihen in einem Plot zu verbinden. Doch jetzt fehlt nur noch ein letzter "Strich", eine Verbindung zwischen zwei Datenpunkten ganz oben im Plot, damit das Plot vollendet ist!
Antworten