Estoy intentando hacer un gráfico que tenga un eje y logarítmico doble. es posible? Esto debería cambiar la distancia de cada incremento logarítmico, porque quiero trazar las llamadas tasas de error de bits. Para tener una línea recta de los datos medidos se necesita este tipo de escala (y=log(log(x)). Se sabe que en un gráfico logarítmico normal la distancia entre cada incremento es la misma... Desafortunadamente no pude para encontrar una solución en el manual de pgfplots. La única opción dada es un registro único para uno o ambos ejes. En el siguiente enlace se muestra un ejemplo.
Respuesta1
Como dijo Christian Feuersänger, puedes usar a y coord trafo
para transformar las coordenadas sobre la marcha. Las etiquetas de marca normalmente se volverían a transformar usando y coord inv trafo
, pero la precisión del motor matemático no es lo suficientemente alta para esto (1000 se convierte en 997,8), por lo que tendrás que proporcionar las etiquetas explícitamente:
\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}