PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TikZ/gnuplot Definitionsbereich einschränken



WiKainZwaida
15-05-2010, 16:16
Hallo allerseits,

es scheint ein absolutes Anfänger-(gnuplot-)Problem zu sein, aber ich finde einfach keine Lösung.

Ich würde gerne den y-Definitionsbereich beschränken. Die Funktion soll nur im Bereich 0< y <2 gezeichnet werden.

Im folgenden Minimalbeispiel funktioniert das aber nur für den x-Definitionsbereich:


\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

%PROBLEM: y-Definitionsbereich wird überschritten
\draw plot[raw gnuplot]
function
{%
set samples 40;
plot [0:2] [0:2] x**2
};


%Achsen
\draw[->] (0,0) -- (10,0) node[above right] {$x$};
\draw[->] (0,0) -- (0,10) node[above right] {$y$};

% Achsenbeschriftung
\foreach \x in {1,2,...,9}
{\draw[xshift=\x cm] (0,0) -- (0,-0.2) node[below] {\x};}
\foreach \y in {1,2,...,9}
{\draw [yshift=\y cm] (0,0) -- (-0.2,0) node[left] {\y};}

\end{tikzpicture}

\end{document}

localghost
15-05-2010, 16:51
Nimm lieber gleich pgfplots (http://ctan.org/pkg/pgfplots). Spart dir viel Arbeit.


MfG
Thorsten

Joerka
15-05-2010, 17:04
Oder Du schreibst einfach:


plot [0:2] x**2>0 && x**2<2 ? x**2 : 1/0

&& = und
? = dann
: = sonst

Muss aber ehrlich gestehen, dass ich selbst überrascht bin, dass deine Zeile nicht funktioniert... Würde mich ebenso interessieren, warum man nach [min x:max x] noch [min y:max y] zwar angeben kann, diese Angabe jedoch ohne Wirkung bleibt.

Fürchte nur, das hier ist das falsche Forum (gnuplot-Problem).

mechanicus
15-05-2010, 17:12
Würde mich ebenso interessieren, warum man nach [min x:max x] noch [min y:max y] zwar angeben kann, diese Angabe jedoch ohne Wirkung bleibt.
Gnuplot macht alles richtig. Das Problem ist tikz. Wenn du mit tikz/gnuplot einen Funktion plotten willst, dann wird eine Tabelle erstellt und diese wird eigentlich geplottet. Gnuplot gibt eine Tabelle mit 3 Spalten aus, wobei die letzte Spalte sagt, ob gezeichnet wird oder nicht. tikz kennt aber die letzte Spalte nicht und plottet somit alles.

Gruß
Marco

Joerka
15-05-2010, 17:48
Vielen Dank für die Erklärung, Marco!

WiKainZwaida
16-05-2010, 15:00
Danke auch von meiner Seite. Ich mach's so wie von Joerka vorgeschlagen.