단일 이중 로그 축

단일 이중 로그 축

이중 로그 y축이 있는 플롯을 만들려고 합니다. 이것이 가능한가? 이는 소위 비트 오류율을 플롯하고 싶기 때문에 각 로그 증분의 거리를 변경해야 합니다. 측정된 데이터를 직선으로 나타내려면 이러한 유형의 스케일링이 필요합니다(y=log(log(x)). 일반 로그 플롯에서는 각 증분 사이의 거리가 동일한 것으로 알려져 있습니다... 불행하게도 저는 그렇게 할 수 없었습니다. pgfplots-manual에서 해결책을 찾으려면 하나 또는 두 축에 대한 단일 로그가 제공됩니다. 예는 아래 링크에 나와 있습니다.

답변1

Christian Feuersänger가 말했듯이 a를 사용하여 y coord trafo즉시 좌표를 변환할 수 있습니다. 눈금 레이블은 일반적으로 를 사용하여 다시 변환되지만 y coord inv trafo수학 엔진의 정밀도는 이를 수행할 만큼 높지 않으므로(1000은 997.8이 됨) 레이블을 명시적으로 제공해야 합니다.

\documentclass{article}
\usepackage{pgfplots}
\begin{document}


\begin{tikzpicture}
\begin{axis}[
    y coord trafo/.code=\pgfmathparse{log10(log10(#1))},
    domain=0:2,
    ymax=10000,
    ytick={10,100,1000,10000},
    yticklabels={10,100,1000,10000},
    extra y ticks={2,...,9,20,30,...,90,200,300,...,900,2000,3000,...,9000},
    extra y tick labels={},
    every extra y tick/.style={major tick length=3pt}
]
\addplot {exp(exp(x))};
\end{axis}
\end{tikzpicture}
\end{document}

관련 정보