Soy bastante nuevo pgfplots
y debo estar haciendo algo mal. Estoy trazando una función por partes usando el siguiente código:
\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}
Ahora, si agrego la samples=11
opción \addplot
, ¡la imagen cambia de posición en el archivo PDF resultante! Si sigo aumentando el tamaño de la muestra, la imagen eventualmente se mueve fuera de los márgenes del documento...
Además del problema de la trama en movimiento, encontrar un tamaño de muestra apropiado para una función lineal por partes es un poco frustrante porque las muestras a menudo "pierden" los puntos de unión. ¿Hay alguna forma de configurar muestras por partes también?
Como pregunta secundaria, ¿es posible establecer los valores de xtick
using \DELTA
, como en la definición de la función?
¡Gracias!
Nota: mi ejemplo usa amsbook
, pero observo el mismo comportamiento con standalone
.
Respuesta1
Pude eliminar el comportamiento eliminando el espacio después \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}