Pgfplots: 그림이 샘플 크기에 따라 움직입니다!

Pgfplots: 그림이 샘플 크기에 따라 움직입니다!

저는 아주 새로운 사람 pgfplots이고 뭔가 잘못하고 있는 것 같습니다. 다음 코드를 사용하여 조각별 함수를 플로팅하고 있습니다.

\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}

samples=11이제 에 옵션을 추가하면 \addplot결과 PDF 파일에서 그림의 위치가 변경됩니다! 샘플 크기를 계속 늘리면 결국 그림이 문서의 여백 밖으로 이동하게 됩니다...

이동 플롯 문제 외에도, 조각별 선형 함수에 대한 적절한 샘플 크기를 찾는 것은 샘플이 연결점을 "놓치는" 경우가 많기 때문에 다소 실망스럽습니다. 샘플을 조각별로 설정하는 방법도 있나요?

두 번째 질문으로, 함수 정의에서와 같이 xtickusing 값을 설정할 수 있습니까 ?\DELTA

감사해요!

참고: 내 예제에서는 를 사용 amsbook하지만 에서도 동일한 동작이 관찰됩니다 standalone.

답변1

이후 공백을 없애는 동작을 없앨 수 있었습니다 \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}

샘플 코드 출력

관련 정보