Ich bin ziemlich neu hier pgfplots
und muss etwas falsch machen. Ich zeichne eine stückweise Funktion mit dem folgenden Code:
\documentclass{amsbook}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\newcommand{\DELTA}{.3}
\pgfmathdeclarefunction{fdelta}{1}{%
\pgfmathparse{%
and(#1 >= 1-\DELTA/2, #1 <= 1+\DELTA/2) * (1 - 2 * abs(#1 - 1) / \DELTA)
}
}
\begin{tikzpicture}
\begin{axis}[
title={$f_{\delta}(x)$},
xmin=0, xmax=2,
xtick={0, .85, 1.15, 2},
xticklabels={0, \(1-\frac{1}{2}\delta\), \(1+\frac{1}{2}\delta\), 2},
ytick={0, 1},
]
\addplot[domain=0:2, ultra thick]{fdelta(x)};
\end{axis}
\end{tikzpicture}
\end{document}
Wenn ich nun die samples=11
Option hinzufüge \addplot
, ändert das Bild seine Position in der resultierenden PDF-Datei! Wenn ich die Stichprobengröße weiter erhöhe, bewegt sich das Bild irgendwann über die Ränder des Dokuments hinaus ...
Neben dem Problem des gleitenden Diagramms ist es etwas frustrierend, eine geeignete Stichprobengröße für eine stückweise lineare Funktion zu finden, da die Stichproben die Verbindungspunkte häufig „verfehlen“. Gibt es eine Möglichkeit, die Stichproben auch stückweise festzulegen?
Als zweite Frage: Ist es möglich, die Werte wie in der Funktionsdefinition mithilfe von xtick
festzulegen ?\DELTA
Danke!
Hinweis: In meinem Beispiel wird verwendet amsbook
, aber ich beobachte dasselbe Verhalten mit standalone
.
Antwort1
Ich konnte das Verhalten beseitigen, indem ich das Leerzeichen nach entfernt habe \pgfmathparse
.
\documentclass{article}
\pagestyle{empty}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\newcommand{\DELTA}{.3}
\pgfmathdeclarefunction{fdelta}{1}{%
\pgfmathparse{%
and(#1 >= 1-\DELTA/2, #1 <= 1+\DELTA/2) * (1 - 2 * abs(#1 - 1) / \DELTA)%
}%
}
\newcommand{\g}[1]{
\begin{tikzpicture}[scale=0.75]
\begin{axis}[
title={$f_{\delta}(x)$},
xmin=0, xmax=2,
xtick={0, .85, 1.15, 2},
xticklabels={0, \(1-\frac{1}{2}\delta\), \(1+\frac{1}{2}\delta\), 2},
ytick={0, 1},
samples=#1
]
\addplot[domain=0:2, ultra thick]{fdelta(x)};
\end{axis}
\end{tikzpicture}}
\begin{document}
\g{10}
\g{11}
\g{20}
\end{document}