Gnuplot in Latex verwenden

Tabellen und Grafiken erstellen und anordnen


Eripitus
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 14. Feb 2015, 00:14

Gnuplot in Latex verwenden

Beitrag von Eripitus »

Hallo,

ich hoffe, dass ihr mir mit meinem Problem helfen könnt. Ich versuche mir mit Gnuplot eine Grafik zeichnen zu lassen. Den Code dafür habe ich mir von Geo-gebra ausgeben lassen. Ich möchte dabei aber unbedingt diesmal gnuplot verwenden. Nunja irgendwie kann mein editor (Texmaker) nicht auf Gnuplot zugreifen. Beim Compilieren erscheint die Meldung :
"Der befehl 'gnuplot' ist falsch geschrieben oder konnte nicht gefunden werden"
Danach bekomme ich die Warnung "Package pgf Warning: Plot data file `test.func0.table' not found. on input line"
Gnuplot ist installiert und die Umgebungsvariable ist auch gesetzt.
Wenn ich die test.func0.table manuell erstelle funktioniert alles! Will das aber nicht jedes mal per Hand machen müssen. Hab in Texmaker unter pdflatex "pdflatex -synctex=1 --enable-write18 -interaction=nonstopmode %.tex" eingestellt.

Mein system:
- Miktex 2.9
- gnuplot 5.0
- texmaker
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-3,0) -- (5,0);
\foreach \x in {-3,-2.5,-2,-1.5,-1,-0.5,0.5,1,1.5,2,2.5,3,3.5,4,4.5}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[color=black] (4.91,0.02) node [anchor=south west] { x};
\draw[->,color=black] (0,-2) -- (0,1.5);
\foreach \y in {-2,-1.5,-1,-0.5,0.5,1}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
\draw[color=black] (0.03,1.37) node [anchor=west] { y};
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
\clip(-3,-2) rectangle (5,1.5);
\draw plot[raw gnuplot, id=func0] function{set samples 100; set xrange [-2.9:4.9]; plot 2*x*2.718281828**(-x)};
\draw plot[raw gnuplot, id=func1] function{set samples 100; set xrange [-2.9:4.9]; plot 1/2*x-1};
\begin{scriptsize}
\draw[color=black] (-0.5,-2.26) node {$f$};
\draw[color=black] (-2.86,-2.54) node {$g$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
Danke für die hilfe

Eripitus
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 14. Feb 2015, 00:14

Beitrag von Eripitus »

Okay, hat sich erledigt. Einmal mal die Kiste neustarten, dann sind die Path-variable auch wirklich gesetzt!

Dann noch kapieren, dass gnuplot bei "1/2" eine 0 drauß macht und stattdessen 1./2. schreiben, dann ist alles gut :)

Danke trotzdem, vllt hilft mein Post ja irgendjemand anderem :)

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2752
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Willkommen im Forum!

Schön, dass Du die Auflösung auch gepostet hast. Ich verwende gnuplot übrigens gemeinsam mit pgfplots.

Stefan

Stamm-

Vereinfachung

Beitrag von Stamm- »

Das schon erwähnte Paket »pgfplots« vereinfacht die Erstellung der Grafik gegenüber dem umständlichen, von Geogebra exportierten Code erheblich.
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{pgfplots}

\pgfplotsset{compat=1.12}

\begin{document}
  \begin{tikzpicture}[font=\scriptsize]
    \begin{axis}[
      width=10cm,
      height=6cm,
      axis lines=middle,
      xmin=-3,
      xmax=5,
      xlabel=x,
      xtick={-3,-2.5,...,4.5},
      ymin=-2,
      ymax=1.5,
      ylabel=y,
      ytick={-2,-1.5,...,1}
    ]
      \addplot[raw gnuplot] gnuplot {plot [-3:5] 2*x*exp(-x)};
      \addplot[raw gnuplot] gnuplot {plot [-3:5] 0.5*x-1};
    \end{axis}
  \end{tikzpicture}
\end{document}
Ähnliches ginge auch mit »pst-plot«, wobei aber bei der Erstellung des Dokuments mit pdfLaTeX ein zusätzliches Paket wie »auto-pst-pdf« nötig wäre. Das wäre bei der Bearbeitung mit Lua(La)TeX nicht nötig.

Bild

Antworten