Forum: PC-Programmierung Gnuplot, Parametrischer Plot, Parameter aus File


von Gabi (Gast)


Lesenswert?

Ich habe ein Datenfile mit 3 Spalten:

x0 Position, y0 Position, Parameter a.

Nun möchte ich einen Plot von den Daten machen, und zwar muss ich bei 
jeder x0/y0-Position eine Kurve der Form

x = a*(cos(t))^3 + x0
y = a*(sin(t))^3 + y0

plotten. Also das heisst: mein Parameter t läuft jeweils von 0 bis 2*pi, 
und ich will nun aus jeder Zeile im Datenfile die x0/y0-Position 
entnehmen sowie den Parameter a und die parametrische Kurve dann für 
alle Werte von t plotten.

Wie ginge so etwas? ich habe nun schon stundenlang herum gepröbelt und 
gegoogelt, aber keine Lösung gefunden. Oder geht es gar nicht?

von rtfm? (Gast)


Lesenswert?

Dazu gibt es jede Menge Anleitungen - musst nur deine Überschrift bei 
Google eingeben und etwas lesen. Steht auch in fast jedem gnuplot 
Tutorial.

Bitte seid nicht immer zu faul um ein klein wenig selbst zu suchen und 
probieren!

von Clemens L. (c_l)


Lesenswert?

Dieses Verfahren könnte hilfreich sein: 
http://www.gnuplotting.org/object-placement-using-a-data-file/

von Gabi (Gast)


Lesenswert?

Danke @rtfm, ich habe in der Dokumentation nachgeschaut aber ich finde 
keinen Ansatz.

Ich habe es jetzt anders gemacht. Habe ein Python Programm geschrieben 
welches die Werte liest und die Kurven berechnet. Für jede Kurve wird 
dann ein eigenes Datenfile erzeugt und diese plottet man dann.

von Sheeva P. (sheevaplug)


Lesenswert?

Gabi schrieb:
> Danke @rtfm, ich habe in der Dokumentation nachgeschaut aber ich finde
> keinen Ansatz.
>
> Ich habe es jetzt anders gemacht. Habe ein Python Programm geschrieben
> welches die Werte liest und die Kurven berechnet. Für jede Kurve wird
> dann ein eigenes Datenfile erzeugt und diese plottet man dann.

Wenn Du ohnehin schon mit Python unterwegs bist, kannst Du für das 
Plotten auch gleich die Bibliothek "matplotlib" benutzen -- die macht 
(IMHO) etwas hübschere Plots als gnuplot(1) -- YMMV.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.