[2, 4]
다음 MWE의 경우 원하는 출력에 표시된 대로 간격(예: )에 주석을 달고 싶습니다 .
추가적으로 수직선과 수평 화살표의 스타일을 지정하는 방법도 알아야 합니까?
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
답변1
주석 텍스트의 경우 라이브러리를 사용할 수 있습니다 decorations.text
tikz
.
스타일 지정을 위해 명령에 필요한 옵션을 추가할 수 있습니다 \draw
. 예는 다음과 같습니다.
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\draw[red, dashed] (2, \pgfkeysvalueof{/pgfplots/ymin}) -- (2, \pgfkeysvalueof{/pgfplots/ymax});
\draw[green, thick, dotted] (4, \pgfkeysvalueof{/pgfplots/ymin}) -- (4, \pgfkeysvalueof{/pgfplots/ymax});
\draw[blue, very thick, {Stealth}-{Stealth}, postaction={decoration={raise=3pt, text along path, text={some text},text align=center}, decorate}] (2,5) -- (4,5);
\end{axis}
\end{tikzpicture}
\end{document}
편집하다:
OP의 요구에 따라 \myline
수직선에 대한 스타일( \myarrow
간격의 화살표에 대한 스타일도 있음)을 만들었습니다.
게다가 나는 tikz
매니아로 과장했다. Torbjørn T.가 올바르게 지적했듯이 a를 사용하는 것은 text along path
직선에 과잉입니다. 라이브러리가 필요 없이 경로 위에 노드를 놓기만 하면 됩니다 decorations.text
.
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{arrows.meta}
\tikzset{%
myline/.style = {green, very thick, dashed},
myarrow/.style = {blue, very thick, {Stealth}-{Stealth}},
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\draw[myline] (2, \pgfkeysvalueof{/pgfplots/ymin}) -- (2, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myline] (4, \pgfkeysvalueof{/pgfplots/ymin}) -- (4, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myarrow] (2,5) -- node[above] {some text} (4,5);
\end{axis}
\end{tikzpicture}
\end{document}
두 번째 편집:
저는 화살표의 초기 , 최종 및 높이 pic
세 가지를 사용 하여 을 만들었습니다 (이 마지막 값은 고정 값으로 대체될 수 있으며, 항상 동일하다면 2개만 사용하도록 수정 ).args
x
x
y
pic
args
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{arrows.meta}
\tikzset{%
myline/.style = {green, very thick, dashed},
myarrow/.style = {blue, very thick, {Stealth}-{Stealth}},
pics/myint/.style n args={3}{code={%
\draw[myline] (#1, \pgfkeysvalueof{/pgfplots/ymin}) -- (#1, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myline] (#2, \pgfkeysvalueof{/pgfplots/ymin}) -- (#2, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myarrow] (#1,#3) -- node[above] {some text} (#2,#3);
}},
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\pic {myint={2}{4}{5}};
\end{axis}
\end{tikzpicture}
\end{document}
물론 를 사용하면 \pic {myint={2}{4}{5}};
출력은 이전 출력과 동일합니다.