É menos intuitiva que nos outros programas de gráficos (gnuplot, xmgrace), porém é possível fazer também. Primeiro crie a função que irá retornar a lista de expressões que você usará no atributo labels
da função axis
que cria os eixos:
flabs <- function(l) { # definimos o comprimento da lista de entrada l n <- length(l) # criamos um vetor de expressões vazio labs <- vector("expression",n) # um loop para preencher a lista com seus devidos valores, a função substitute retorna um objeto que contém a expressão no índice 2 for(i in 1:n) { labs[i] <- substitute(expression(10^x),list(x = l[i]))[2] } return(labs) }
Agora é só fazer um gráfico sem eixos, e logo em seguida construir os eixos com a função axis
:
plot(x,y,axes=FALSE,frame.plot = TRUE) # no eixo x axis(1,at=axTicks(1),labels=flabs(log10(axTicks(1)))) # no eixo y axis(2,at=axTicks(2),labels=flabs(log10(axTicks(2))))
isso funciona apenas para eixos proporcionais a . Mas caso necessite de algo como acrescente o número ao construir a expressão em flabs
.
O resultado dessa peleja é o gráfico inserido abaixo.