하나의 pgfplot을 다른 pgfplot 위에 정렬

하나의 pgfplot을 다른 pgfplot 위에 정렬

솔루션 세트를 나타내는 수직선을 |3x - 5| - x < 17의 그래프에 더 가깝게 이동하려면 어떻게 해야 합니까 y = |3x - 5| - x?

\documentclass{amsart}
\usepackage{amsmath}
\usepackage{amsfonts}

\usepackage{tikz}
\usetikzlibrary{calc,intersections}



\usepackage{pgfplots}
\pgfplotsset{compat=1.11}



\begin{document}

\begin{tikzpicture}

\begin{axis}[name=plot1, width=2.75in, height=2.75in, axis x line=middle, axis y line=none, clip=false,
    domain=-5:15,
    xtick={-3, 11},ytick={\empty},
    ticklabel style={font=\scriptsize},
    xticklabels={-3, 11},
    axis line style={latex-latex},
    axis line style={shorten >=-12.5pt, shorten <=-12.5pt},
]

\addplot[draw=none] {0};

\draw[line width=1.2pt] (-3, 0) -- (11, 0);
\draw[draw=black, fill=white] (-3, 0) circle [radius=1.5pt];
\draw[draw=black, fill=white] (11, 0) circle [radius=1.5pt];

\end{axis}

\begin{axis}[at=(plot1.north), anchor=south, width=2.75in, height=2.75in, axis lines=middle, clip=false,
    axis lines=middle, clip=false,
    xmin=-8,xmax=18,
    ymin=-3,ymax=25,
    restrict y to domain=-3:25,
    xtick={-3,11}, ytick={\empty},
    ticklabel style={font=\scriptsize},
    xticklabels={\makebox[0pt][r]{$-$}3, 11},
    axis line style={latex-latex},
    xlabel=\textit{x},ylabel=\textit{y},
    axis line style={shorten >=-12.5pt, shorten <=-12.5pt},
    xlabel style={at={(ticklabel* cs:1)}, xshift=12.5pt, anchor=north west},
    ylabel style={at={(ticklabel* cs:1)}, yshift=12.5pt, anchor=south west}
]

\addplot[samples=2, blue, domain=-5:5/3] {-4*x + 5};
\addplot[samples=2, blue, domain=5/3:15] {2*x - 5};
\addplot[samples=2, latex-latex, domain=-8:18] {17};

%The equation for the piece of the function over the interval (-5, -15) is y = |3x - 5| - x.
\coordinate (A) at (14.5,24);
\coordinate (B) at (5/3,-5/3);
\coordinate (C) at (-8,17);

\end{axis}


%A "pin" is drawn between the label for the graph of y = |3x - 5| - x and a point on the graph.
\draw[draw=gray, shorten <=1mm, shorten >=1mm] (A) -- ($(A)!0.75cm!90:(B)$);
\node[blue, anchor=west, inner sep=0, font=\footnotesize] at ($(A)!0.75cm!90:(B)$) {\makebox[0pt][l]{$y = \vert3x - 5\vert - x$}};

%The label for the horizontal line is typeset.
\node[anchor=east, inner sep=0, font=\footnotesize] at ($(C) +(-0.15,0)$){$y = 17$};


\end{tikzpicture}


\end{document}

답변1

이렇게 (당신의 문제가 무엇인지 잘 모르겠습니다. 내가 이해하는 한 질문의 본문은 제목의 본문과 관련이 없습니다)?

편집하다: 분명히 나는 ​​당신의 질문을 잘 이해하지 못했습니다. 이제 귀하의 문제는 다이어그램 간의 거리이기도하다고 생각합니다. 그래서 두 번째 다이어그램을 추가하고 높이를 1in. 이를 통해 x-axis두 번째 다이어그램과 위쪽 다이어그램 하단 사이의 거리가 줄어듭니다.

두 다이어그램 모두에 대해 공통을 정의 pgfplotsset하고 이를 통해 코드를 조금 더 짧게 만듭니다.

편집 2: 함수 그래프에 대한 선 포인터를 갖고 싶지 않다면 옵션을 다음 pin으로 바꾸십시오 label.

\documentclass{amsart}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usetikzlibrary{calc,intersections}

\begin{document}
    \begin{tikzpicture}[dot/.style = {circle, fill,inner sep=2pt}]
\pgfplotsset{
    width=2.75in,
    clip=false,
    xmin=-11,xmax=22,
    restrict y to domain=-3:25,
    xtick={-3,11},
    xticklabels={\makebox[0pt][r]{$-$}3, 11},
    ticklabel style={font=\scriptsize},
    xlabel=\textit{x},ylabel=\textit{y},
    xlabel style={at={(ticklabel* cs:1)}, above right},
    ylabel style={at={(ticklabel* cs:1)}, above right}
            }
\begin{axis}[name=plot1,
    height=2.75in,
    axis lines=middle,
    ymin=-3,ymax=25,
    ytick={\empty},
            ]
\addplot[samples=2, blue, domain=-5:5/3] {-4*x + 5};
\addplot[samples=2, blue, domain=5/3:15] {2*x - 5}
    coordinate[pos=0.9, label={[font=\footnotesize]0:$|3x - 5| - x < 17$}] (aux);  % <---
\addplot[samples=2, latex-latex, domain=-8:18] {17}
    node[font=\footnotesize,above left] {$y=17$};   % <---
\end{axis}
%
\begin{axis}[at=(plot1.south), anchor=north,
    height=1in, % minimal height which pgfplots accept is about 0.7 in
    axis x line=middle,
    axis y line=none,
]
\addplot[line width=1.2pt, mark=*] coordinates {(-3,0) (11,0)};
\end{axis}
    \end{tikzpicture}
\end{document}

이제 위 MWE의 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

정답이 당신이 찾고 있는 것을 제공합니까?

관련 정보