Eixo logarítmico duplo único

Eixo logarítmico duplo único

Estou tentando fazer um gráfico que tenha um eixo y logarítmico duplo. Isso é possível? Isso deve alterar a distância de cada incremento logarítmico, pois quero representar graficamente as chamadas taxas de erro de bit. Para ter uma linha reta dos dados medidos é necessário este tipo de escalamento (y=log(log(x)).Sabe-se que no gráfico logarítmico normal a distância entre cada incremento é a mesma... Infelizmente não consegui para encontrar uma solução no manual pgfplots. A única opção fornecida é um log único para um ou ambos os eixos.

Responder1

Como disse Christian Feuersänger, você pode usar a y coord trafopara transformar as coordenadas instantaneamente. Os rótulos de tick normalmente seriam retransformados usando y coord inv trafo, mas a precisão do mecanismo matemático não é alta o suficiente para isso (1000 se torna 997,8), então você terá que fornecer os rótulos explicitamente:

\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}

informação relacionada