Forum: PC Hard- und Software Gnuplot-Frage


von F von x (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich möchte gerne für die vielen technischen Dokumente, die ich verfassen 
muss, einigermassen professionelle Diagramme haben. Zum Schreiben der 
Dokumente benutze ich mittlerweile schon Latex, das sieht ganz 
ordentlich aus. Nun möchte ich noch mit Gnupplot Diagramme und 
Funktionsplots erstellen, damit das auch alles schön ordentlich 
aussieht. Hierzu habe ich 2 Fragen, die ich mittels Google leider nicht 
beantworten konnte, aber da hier viele Leute unterwegs sind, die sich 
wohl beruflich und vllt. auch privat mit so Zeug beschäftigen, dachte 
ich ich frage mal hier.

1. Frage. Ich möchte eine 3D-Funktion zeichnen, zum Beispiel 
sin(sqrt(x^2+y^2))/sqrt(x^2+y^2). Wie ich das mache, habe ich 
mittlerweile schon rausgefunden: mit splot, sowie hidden3d und surface. 
Nun ist aber das Gitternetz, das surface standardmässig erstellt, immer 
rot und hat sehr dicke Linien. wie kann ich das verändern? ich hab jetzt 
sicher anderthalb Stunden schon gesucht und nichts brauchbares gefunden. 
Ich möchte meine Funktion als faribe Fläche plotten, über die dieses 
Gitternetz noch drüber gelegt ist. So ähnlich wie im Anhang.

2. Frage. Da ich die Diagramme nachher in Latex einbinden möchte, wäre 
es irgendwie praktisch, wenn die Achsenbeschriftungen gerade im 
richtigen Font und in der richtigen Grösse erstellt würden. Geht das? 
Auch hierzu habe ich wenig brauchbare Informationen finden können.

Ich hoffe ihr könnt mir weiter helfen!

Gruss

von Krapao (Gast)


Lesenswert?

> Nun ist aber das Gitternetz, das surface standardmässig erstellt, immer
> rot und hat sehr dicke Linien.
1
splot x*y with lines lt -1

Welchen Linientyp die -1 auf deinem Terminal repräsentiert, kannst du 
mit test in Gnuplot herausfinden.

Die Linienbreite (linewidth lw kannst du auch einstellen).
1
splot x*y with lines lt 4 lw 2

von Krapao (Gast)


Lesenswert?

Bei den Labels müsste dich
1
set format "$%g$"

weiterbringen. Siehe Hilfe "For LaTeX users, the format "$%g$" is often 
desirable."

Ohne nähere Angaben setzt das alle Labels und Tickmarks etc. so um, dass 
dort die Latex-Formatierung greift. Du kannst das aber auch weiter 
einschränken

      set format {<axes>} {"<format-string>"}
      show format

von Krapao (Gast)


Lesenswert?


von F von x (Gast)


Lesenswert?

Hallo,
ihr seid super. Das funktioniert schon mal bestens!
Ich habe nun folgendes gemacht:
Mit "set terminal epslatex color" kann ich eine farbifge eps-grafik 
erstellen und mit ps2pdf in ein pdf umwandeln lassen. das klappt soweit 
auch gut. Ich erhalte dann eine tex-Datei, wo alle Achsenbeschriftungen 
etc. drin sind, sowie eben ein pdf, wo die Grafik ansich drin ist. 
Perfekt, so solls sein! Jetzt stelle ich nur noch ein kleines Manko 
fest.
Zuerst plotte ich immer im Standard-Fenster (set terminal wxt) damit ich 
die Grafik schonmal vorab sehen kann. Dann stelle ich alles ein wie 
gewünscht, ind führe dann "set terminal epslatex color" aus. Wenn ich 
jedoch jetzt plotte, dann sind meine Einstellungen nicht übernommen 
worden. Insbesondere in der Höhe ist die gesamte Grafik ein wenig 
zusammengestaucht, was natürlich nicht so dolle aussieht. Was muss ich 
wohl ändern?


Ach ja, Nachtrag: ich habe soeben festgestellt, dass das mit den Linien 
doch nicht so toll klappt: führe ich "splot x*y with lines lt -1; set 
pm3d; set hidden3d; replot" aus, dann sehe ich das Gitternetz trotzdem 
nicht. Ich würde aber gerne eine farbige Oberfläche sehen, wo das 
Gitternetz überlagert ist, so kann man meines Erachtens am besten 
erkennen, wie die Fläche sich wölbt. Wenn aber die hidden3d Option 
eingeschaltet ist, funktionierts leider nicht :-(


Ich habe mal irgendwo im Netz gelesen - ich finde die Site leider nicht 
mehr -, dass jemand sein Texnixcenter (kennt ihr das?) so eingestellt 
hatte, dass er direkt den Gnuplot-Code in sein Tex Dokument eingeben 
konnte, und Tex hat dann während des compilierens (oder wie man das auch 
nennen will) automatisch im Hintergrund die entsprechenden Programme 
aufgerufen und den Graphen so erstellt. Kann ich das wohl auch irgendwie 
hinkriegen? Wäre ja toll, schliesslich möchte ich nicht für jeden 
Graphen, den ich zeichne, 10 Minuten lang irgendwelche Befehle in 
Gnuplot rein hacken ;-)

Übrigens besitze ich das Mathematikprogramm Maple. Dort kann ich ansich 
auch sehr einfach Graphen zeichnen, eigentlich sehr viel bequemer als in 
Gnuplot, aber die Formatierung ist nicht so flexibel. Weiss jemand, ob 
es evtl. sonst da eine Möglichkeit gäbe, das ganze Latex-tauglich zu 
machen?

von Krapao (Gast)


Lesenswert?

Das mit dem "jedes Mal Einhacken" verstehe ich nicht.

Du kannst doch die Gnuplot-Kommandos in eine Textdatei schreiben und die 
Textdatei dem Gnuplot-Programm als Kommandozeilenargument übergeben oder 
mit load in der Gnuplot Eingabezeile laden.

Die Kommandozeile kannst du das auch in jedem Editor benutzen, der den 
Aufruf einer Shell oder Kommandozeile beherrscht. Wenn der gut ist, kann 
man das auch auf eine Funktionstaste legen oder einem Tastaturmakro 
zuordnen. So wie es z.B. Editoren machen, die aus dem Editor den C 
Compiler oder dessen make mit zum Übersetzen des aktuellen 
C-Quelltextes aufrufen. Solche Editoren gibt es wie Sand am Meer.

Ob es das TeXnicCenter http://www.texniccenter.org/ kann, weiss ich 
nicht aus eigener Erfahrung. Es sieht aber gut aus 
http://texniccenter.sourceforge.net/customization.html#customizing-the-tools-menu

Bei der Anpassung der Tools statt explorer.exe der Aufruf von 
wgnuplot.exe (ggf. mit Pfad) und als Kommandozeile %m eingetragen, 
müsste die aktuelle DAtei im Hauptfenster in Gnuplot aufrufen 
http://texniccenter.sourceforge.net/placeholders.html

Oder wenn du den IE-Aufruf nicht verlieren willst, dann einen neuen 
Tooleintrag anlegen.

Wenn du dann die Datei mit den Gnuplot-Anweisungen hast, hänge sie an 
deine Fragen an. Manches lässt sich dann einfacher beantworten und der 
Neugier/dem Spieltrieb ist auch genüge getan :-)

von F von x (Gast)


Lesenswert?

Okay ich melde mich morgen nochmal und zeige dir meine skriptdatei. Jetz 
ist schon ein wenig spät, ich muss morgen um 5 raus ;-)

melde mich also morgen wohl im verlauf des Nachmittags wieder.

Gruss

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.