여기서는 보조 y축 눈금 레이블을 추가하고 수동으로 지정하는 대신 기본 y축 눈금 레이블의 기능을 수행하도록 만들고 싶습니다.
예를 들어, 다음 의사 기능을 따르려면 보조 라벨이 필요합니다.
secondary y tick label = primary y tick label * 100
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=10,
xtick={0,2,...,10},
xticklabels={
,
x1,
x2,
x3,
x4,
}
]
\addplot+[
only marks,
error bars/.cd,
y dir=both,
y explicit,
]
table
[
y error plus=ey+,
y error minus=ey-,
]{
x y ey+ ey-
2 0 .5 1
4 0 0 0.5
6 0 1 0
8 0 0.5 0.5
};
\end{axis}
\end{tikzpicture}
\end{document}
답변1
그래프에 두 번째 y축을 원하는 경우 y축만 있는 기존 축 위에 다른 축을 추가할 수 있습니다. 따라서 첫 번째에는 x와 y1이 있고 두 번째에는 y2만 있습니다. 자세한 내용은 pgfplots 매뉴얼의 4.9장에서 확인할 수 있습니다.
아마도 이를 달성하는 더 좋은 방법이 있을 것입니다. 이것이 제가 생각한 첫 번째 방법입니다.
편집하다:
두 번째 축 레이블을 첫 번째 축의 수학 함수로 사용하는 경우: 두 개의 변수varimax 및varimin을 사용하는 것은 어떻습니까? 그런 다음 해당 값을 함수로 지정할 수 있으므로 수동으로 수행할 필요가 없습니다.
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\newcommand{\varymin}{-1.2}
\newcommand{\varymax}{1.2}
\begin{axis}[
xmin=0,xmax=10,
ymin=\varymin,ymax=\varymax,
xtick={0,2,...,10},
xticklabels={
,
x1,
x2,
x3,
x4,
}
]
\addplot+[
only marks,
error bars/.cd,
y dir=both,
y explicit,
]
table
[
y error plus=ey+,
y error minus=ey-,
]{
x y ey+ ey-
2 0 .5 1
4 0 0 0.5
6 0 1 0
8 0 0.5 0.5
};
\end{axis}
\begin{axis}[
xmin=0,xmax=10,
ymin=\varymin*100,ymax=\varymax*100,
axis y line*=right,
axis x line=none,
ylabel=Second label]
\end{axis}
\end{tikzpicture}
\end{document}
결과는 다음과 같습니다.