pgfplots: 기본 y축 레이블의 보조 y축 눈금 레이블 기능을 만드는 방법은 무엇입니까?

pgfplots: 기본 y축 레이블의 보조 y축 눈금 레이블 기능을 만드는 방법은 무엇입니까?

여기서는 보조 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}

결과는 다음과 같습니다.

결과

관련 정보