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 trafo
para 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}