PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GnuPlot mit epstopdf



Pudelmuetze
04-08-2009, 14:13
Hallo nochmal!

Ich versuche im Moment Gnuplot-Grafiken in mein Dokument einzubinden.
Prinzipiell funktioniert das auch, aber eben noch nicht so ganz.

Wenn ich bei gnuplot "set terminal latex" verwende, dann bekomme ich meine grafiken, auch mit achsenbeschriftung in der ich Latex-Befehle benutzen kann.
Was mir da fehlt ist die Farbe.

Nach einigem Suchen hier im Forum habe ich gedacht die Lösung wäre "set terminal epslatex".
Nachdem ich in meinem latex-dokument dann noch das epstopdf-package inkludiert hatte habe ich auch farbige grafiken bekommen, nur fehlt die Beschriftung jetzt komplett.

Meine Frage ist jetzt also, ob es nicht einen Weg gibt, bei dem beides funktioniert.
Habe ich bei dem zweiten Versuch irgendwas falsch gemacht?

Das ist was ich in gnuplot eingegeben habe:


set terminal epslatex color
set format xy "$%g$"
set xlabel "Auflösung"
set ylabel "\\rotatebox{90}{Anzahl Knoten}"
set output "D:\\DA\\OpenMeshViewer\\OpenMeshViewer\\Evaluation \\cube_voltree.eps"
set logscale x
set logscale y
plot "D:\\DA\\OpenMeshViewer\\OpenMeshViewer\\Evaluation \\voltreeres.dat" using 1:2 title "\\scriptsize{ohne Octree}" with linespoints lt 2


Im tex dokument steht


\begin{figure}
\includegraphics{pictures/Evaluation/cubevoltree.eps}
\caption{Größe des Graphen für den A*-Algorithmus}
\end{figure}

Da ich jetzt schon wieder seit Stunden versuche das zum Laufen zu kriegen würde ich mich über Hilfe echt freuen.

Gruß,
Pudelmuetze

Pudelmuetze
05-08-2009, 16:05
Hat denn keiner ne Idee? :(

Gnuplot erzeugt mir eine EPS-Datei und eine tex-Datei, aber wie kriege ich das hin, dass der Inhalt der tex-Datei auch vernünftig mit dem Diagramm angezeigt wird?

bumberle
05-08-2009, 16:40
Die "set terminal epslatex color"-Variante ist die richtige.
Bei gnuplot muss als output die tex-Datei angegeben werden:

set output "D:\\...\\cube_voltree.tex"
gnuplot erzeugt dir dann die cube_voltree.tex und die cube_voltree.eps Dateien.

In latex schreibst du dann:


\begin{figure}
\input{pictures/Evaluation/cube_voltree.tex} % kannst evtl auch das ".tex" weglassen
\caption{Größe des Graphen für den A*-Algorithmus}
\end{figure}

Wichtig ist der input-Befehl, damit bindest du die cube_voltree.tex-Datei ein. Innerhalb dieser Datei wird dann die eps-datei automatisch eingebunden.

Wenn die Beschriftung auch farbig ist, muss das color-paket eingebunden sein.
Beschriftungen in gnuplot brauchen nur einen backslash, wenn du statt doppelter anführungszeichen einfache schreibst, also

set label '$\Omega' statt
set label "$\\Omega"

Curryhunter
05-08-2009, 16:45
Hi Pudelmütze,
folgendes funzt ohne Probleme, da kannst du dann Deinen gnuplot-Code auch direkt im LaTeX-Dokument eingeben:


%
% durch den Eintrag "& -shell-escape" wird tex gestattet externe
% Programme aufzurufen!
%
% Diagramme werden mit GNUplot erzeugt, gnuplot muß im Suchpfad sein!!
% für Windows das Programm "wgnuplot-pipes.exe" als "gnuplot.exe"
% kopieren
%
% Quelle: http://en.wikibooks.org/wiki/LaTeX/Tips_and_Tricks gnuplot
%
\documentclass{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage[usenames]{color}
\usepackage[miktex]{gnuplottex}
\usepackage{epstopdf}

% GNUPLOT required
\begin{document}
\pagestyle{empty}

\begin{figure}[!ht]
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
# set terminal epslatex color solid linewidth 2

set size 1, 0.9
set samples 3000
set format y "$%g$"
set format x "$%g$"
# set title "m=0.5"
set xlabel "t in ms"
set ylabel "$u_{TM}$"
#set key .7,3.5
set xrange [0:1]
set yrange [-2.5:2.5]
#set grid

# Setzen der Startvariablen
a=50 # Trägerfrequenz
b=3 # Modulationsfrequenz
m=0.5 # Modulationsfaktor

f(x)=sin(2*pi*a*x)+0.5*m*cos(2*pi*(a-b)*x)-0.5*m*cos(2*pi*(a+b)*x)
g(x)=m*sin(2*pi*b*x)+1
h(x)=1-m*sin(2*pi*b*x)-2

plot f(x) title "moduliert" with lines 1, g(x) title "obere Hülle" with lines 3, h(x) title "untere Hülle" with lines 4
\end{gnuplot}
\caption{Das Amplitudenmodulierte Signal}
\end{figure}

\end{document}
macht auch farbige Plots:)

Grüße
Stefan

P.S. mal wieder: too late :rolleyes:

Pudelmuetze
05-08-2009, 17:18
Vielen Dank, ich bin gerettet :)