PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tikz: externe Daten plotten



DaPhil
04-05-2010, 08:52
Hallo,
ich habe Probleme Daten aus einer externen Datei zu plotten. Im grunde tut er es einfach nicht! Muss Gnuplot installiert sein damit er es kann? Ich versuche nicht Funktionen zu plotten, sondern erstmal nur externe Daten, abgespeichert in der Datei sinus.table im Format x y i. Hab dann versucht dies zu plotten mittels:


\draw plot file {sinus.table};

Da passier aber leider nichts. Jetzt habe ich noch irgendwo aufgeschnappt dass TexShop (benutze ich unter Max Os 10.6.3) mit externen Programmen kommunizieren können muss. Ich weiß aber nicht was das heißen soll oder ob es wichtig ist. Hier das Minimalbsp:


\documentclass{scrartcl}
\usepackage[applemac]{inputenc}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw plot file {sinus.table};
\end{tikzpicture}
\end{document}

localghost
04-05-2010, 09:06
Nimm lieber pgfplots (http://ctan.org/pkg/pgfplots). Damit geht das einfacher. Ich bin ziemlich sicher, dass auch für externe Dateien Gnuplot installiert sein muss. Und wenn es ohne nicht funktioniert, hast Du deine Antwort.

Die Kommunikation des Compilers mit externen Programmen erfolgt über die Schalter --enable-write18 (MiKTeX) oder -shell-escape (TeX Live) als Optionen in der Kommandozeile. Da musst Du halt etwas an den Einstellungen deines Editor drehen. Denn der muss den Compiler ja irgendwie aufrufen. Und genau dort ergänzt Du diesen Schalter entsprechend deiner LaTeX-Distribution.


MfG
Thorsten

bobmalaria
04-05-2010, 09:19
hi,

pgfplots ist sicher die richtige wahl um daten zu plotten. gnuplot muss dabei nicht installiert sein. es wird nur gebraucht wenn du gnuplot als berechnungsprogramm brauchst.

für 2D daten muss deine dateindatei so aussehen



# eventuelle beschreibung mit # als
# vorzeichen damit es nicht gelesen wird
1.2 4.5
1 5
0.5 3


gruss

DaPhil
04-05-2010, 09:27
Ich hatte das so verstanden dass tikz nur so eine art layer ist der auf pgf plot drauf liegt und dies erweitert. mir gefällt tikz sehr gut, die möglichkeiten graphiken zu erstellen etc... also versteh ich nicht wieso es mit pgf alleine funktinieren soll aber mit tikz brauch ich gnuplot dazu!

bobmalaria
04-05-2010, 09:39
hi,

pgfplots baut auf tikz auf, das stimmt. aber dafür gibst du ja nicht tikz auf. du kannst aber tikz auch OHNE gnuplot zum plotten von datenfiles verwenden. da bin ich mir sehr sehr sicher und auch im manual steht es so beschrieben.

gruss

DaPhil
04-05-2010, 09:42
hi,
habe gnuplot installiert aber er tuts immer noch nicht. gehe also davon aus dass ich was am compiler ändern muss. weiß jemand wo und wie bei TexShop? in den programm einstellungen finde ich nichts das passen könnte... kenne mich allerdings auch nicht damit aus!

bobmalaria
04-05-2010, 09:49
hi,

ich kann ohne probleme einen plot erstellen mit


\documentclass{article}
\usepackage{tikz}

\begin{document}
\tikz \draw plot file {mydata.dat};
\end{document}

und den datenfile



1 1
2 3
4.6 6
7 10


du brauchst also erstmal kein gnuplot wenn du bereits ein datenfile hast! gnuplot brauchst du nur wenn du es auch verwenden willst um daten zu generieren, z.b. durch funktionen oder ausgleichsfunktionen.

dein fehler liegt also irgendwo aber nicht an gnuplot

DaPhil
04-05-2010, 10:08
In der Tat, es funktioniert wenn ich die Datei sinus.table durch data.txt austausche! im manual steht aber dass er eigentlich nur .table dateien verarbeiten kann... mh!
ich habe jetzt gnuplot installiert aber funktionen plottet er trotzdem nicht. es entsteht zwar die .gnuplot datei, die lässt sich aber auch nicht per hand durch gnuplot jagen. mir scheint das terminal table zu fehlen. 1. frage: wie bekomme ich ein zusätzliches terminal installiert? 2. frage: würde das denn helfen, da er ohnehin keine .table datei zeichnen will...

bobmalaria
04-05-2010, 10:32
hi,

ob table, dat, txt, xy oder eine sonstige dateieindung. das ist tikz ziemlich egal, solagen in dieser datei eine leerzeichen seperierte liste von daten steht.

gnuplot unter windows ist ein wenig nervig, geht aber.

im gnuplot verzeichnis ist die datei wgnuplot.exe. benenne diese in gnuplot.exe um.

füge dienen pfad c:\gnuplot\bin (oder da von eben die exe liegt) deinen windows umgebungsvariablen hinzu.

rufe pdflatex mit der --write18 option auf. dann wird gnuplot gefunden. ich verwende es manchmal um mit pgfplots gnuplot code zu parsen damit ich z.b. gnuplot eine ausgleichsfunktion durch meine datenpunkte errechnen lasse.

gruss

DaPhil
04-05-2010, 12:43
Hallo nochmal,
ich kann immer noch keine Funktion mit tikz via Gnuplot plotten, was daran liegt dass es nicht das terminal table unterstützt. Wie kann ich das jezt nachträglich installieren/freischalten? Ich habe die neueste version von sourceforge runtergeladen. benutze mac os 10.6.3.

DaPhil
04-05-2010, 14:01
ok, hat sich erledigt. habe vergessen das paket pgfplot einzubinden, dann funktioniert es, warum auch immer...

bobmalaria
04-05-2010, 18:23
hi,

für das von mir angengebene beispiel braucht man aber kein pgfplots. hast du davor vergessen tikz zu laden?

DaPhil
04-05-2010, 18:38
he, jaja, tikz hatte ich geladen...
ich bekam die fehlermeldung dass ich das terminal table nicht habe! stimmt auch. habe dann gelesen dass es das terminal auch nicht mehr gibt sondern dass man das anders macht. habe dann einfach mal pgfplot mitgeladen und voila, it works!