Pular para o conteúdo

Eixos logarítmicos com pgfplots

Troque axis por semilogyaxis (y logarítmico), semilogxaxis (x logarítmico) ou loglogaxis (os dois), ou defina ymode=log ou xmode=log num axis comum.

Uma escala logarítmica no eixo y

Valores que crescem por fatores, como contagens, erros ou frequências, ficam mais legíveis numa escala logarítmica. semilogyaxis mantém x linear e torna y logarítmico. As marcações ficam nas potências de dez e são rotuladas como $10^k$.

Crescimento exponencial num eixo y logarítmico

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\begin{tikzpicture}
  \begin{semilogyaxis}[xlabel={Day}, ylabel={Cells}, grid=major]
    \addplot coordinates {(0,44) (1,120) (2,350) (3,980) (4,2700) (5,7600) (6,21000)};
  \end{semilogyaxis}
\end{tikzpicture}

Uma reta neste gráfico significa crescimento constante pelo mesmo fator a cada passo.

Os dois eixos logarítmicos

loglogaxis torna os dois eixos logarítmicos. Uma lei de potência como $y = x^2$ vira uma reta cuja inclinação é o expoente.

Leis de potência num gráfico log-log

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\begin{tikzpicture}
  \begin{loglogaxis}[xlabel=$n$, ylabel={Time (s)}, legend pos=north west]
    \addplot coordinates {(10,0.001) (100,0.01) (1000,0.1) (10000,1)};
    \addplot coordinates {(10,0.0001) (100,0.01) (1000,1) (10000,100)};
    \legend{$O(n)$, $O(n^2)$}
  \end{loglogaxis}
\end{tikzpicture}
Renderizado pelo Scissor LaTeX: Leis de potência num gráfico log-log

O mesmo com xmode e ymode

xmode=log e ymode=log dão a um axis comum uma escala logarítmica. Isso é útil quando a escolha é feita por um estilo, ou dentro de um gráfico em grupo.

xmode=log num axis comum

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\begin{tikzpicture}
  \begin{axis}[xmode=log, xlabel={Frequency (Hz)}, ylabel={Gain (dB)}, ymin=-30, ymax=5]
    \addplot[blue, thick, domain=1:5, samples=60, variable=t]
      ({10^t}, {-10*log10(1 + (10^t/1000)^2)});
  \end{axis}
\end{tikzpicture}
Renderizado pelo Scissor LaTeX: xmode=log num axis comum

Fórmulas também funcionam em eixos logarítmicos, mas domain e samples são em unidades dos dados: as amostras são distribuídas por igual entre as duas pontas, então num eixo logarítmico quase todas caem na última década. Por isso o exemplo plota uma curva paramétrica no expoente t, de $10^1$ a $10^5$, o que distribui as amostras por igual ao longo do eixo logarítmico. O pgfplots se comporta do mesmo jeito.

Outra base

log basis y=2 (ou log basis x) muda a base. As marcações passam a ficar nas potências de 2 e são rotuladas como $2^k$.

Base 2 no eixo y

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\begin{tikzpicture}
  \begin{semilogyaxis}[log basis y=2, xlabel={Doublings}, ymin=1, ymax=64]
    \addplot coordinates {(0,1) (1,2) (2,4) (3,8) (4,16) (5,32)};
  \end{semilogyaxis}
\end{tikzpicture}

Opções em eixos logarítmicos

OpçãoNo Scissor LaTeXObservações
semilogxaxis, semilogyaxis, loglogaxisFunciona
xmode=log, ymode=logFunciona
log basis x=b, log basis y=bFunciona
ymin, ymax num eixo logarítmicoFuncionaUse valores positivos.
log ticks with fixed pointNão suportadoIgnorado com uma mensagem; os rótulos continuam como potências.
ybar stacked num eixo logarítmicoNão suportadoAs barras são desenhadas umas por cima das outras, sem empilhar, e nenhuma mensagem aparece.
valores iguais a 0 ou menoresDescartadosPontos que não podem aparecer numa escala logarítmica ficam de fora, com uma mensagem.

O que muda em relação a uma instalação do TeX

Veja gráficos de barras para barras em eixos lineares e o manual do pgfplots para todas as opções: ctan.org/pkg/pgfplots.

Veja também Gráficos de linhas, Gráficos em grupo e Contornos e mapas de calor.

Perguntas e respostas

Como deixo o eixo y logarítmico no pgfplots?

Use \begin{semilogyaxis} ... \end{semilogyaxis} em vez de axis, ou acrescente ymode=log às opções do axis.

Por que meu gráfico logarítmico não mostra dados?

Um eixo logarítmico não pode mostrar zero nem valores negativos. Pontos com esses valores são descartados, e a aba Problemas avisa. Desloque os dados ou use um eixo linear.

Posso usar base 2 ou base e?

Sim, com log basis y=2 (ou qualquer número positivo, por exemplo log basis x=2.71828).

Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.