Pular para o conteúdo principal
Documentos
Compartir
LinkedIn
Facebook
Twitter
Copy
Gerenciamento de dados em REntrada de dados em RGráficos em RDocumentação RInterface REstatísticas em R

Eixos e rótulos no R

Muitas funções de plotagem de alto nível (plot, hist, boxplot, etc.) permitem que você inclua opções de eixo e texto (bem como outros parâmetros gráficos). Por exemplo:

 # Specify axis options within plot()
plot(x, y, main="title", sub="subtitle",
  xlab="X-axis label", ylab="y-axix label",
  xlim=c(xmin, xmax), ylim=c(ymin, ymax))

Para um controle mais preciso ou para modularização, você pode usar as funções descritas abaixo.

Títulos

Use a função title( ) para adicionar rótulos a um gráfico.

title(main="main title", sub="sub-title",
 xlab="x-axis label", ylab="y-axis label")

Muitos outros parâmetros gráficos (como tamanho do texto, fonte, rotação e cor) também podem ser especificados na função title( ).

# Add a red title and a blue subtitle. Make x and y
# labels 25% smaller than the default and green.
title(main="My Title", col.main="red",
  sub="My Sub-title", col.sub="blue",
  xlab="My X label", ylab="My Y label",
  col.lab="green", cex.lab=0.75)

Anotações de texto

Você pode adicionar texto aos gráficos usando as funções text( ) e mtext( ). text( ) coloca o texto dentro do gráfico, enquanto mtext( ) coloca o texto em uma das quatro margens.

text(location, "text to place", pos, ...)
mtext("text to place", side, line=n, ...)

As opções comuns são descritas abaixo.

opção descrição
localização O local pode ser uma coordenada x,y. Como alternativa, o texto pode ser colocado interativamente por meio do mouse, especificando o local como locator(1).
pos posição relativa ao local. 1=abaixo, 2=esquerda, 3=acima, 4=direita. Se você especificar pos , poderá especificar offset= em porcentagem da largura do caractere.
lado em qual margem você colocará o texto. 1=inferior, 2=esquerda, 3=superior, 4=direita. Você pode especificar line= para indicar a linha na margem, começando com 0 e indo para fora. Você também pode especificar adj=0 para alinhamento esquerdo/inferior ou adj=1 para alinhamento superior/direito.

Outras opções comuns são cex, col e font (para tamanho, cor e estilo de fonte, respectivamente).

Pontos de rotulagem

Você pode usar a função text( ) (veja acima) para rotular o ponto, bem como para adicionar outras anotações de texto. Especifique o local como um conjunto de coordenadas x, y e especifique o texto a ser colocado como um vetor de rótulos. Os vetores x, y e rótulo devem ter o mesmo comprimento.

# Example of labeling points
attach(mtcars)
plot(wt, mpg, main="Milage vs. Car Weight",
  xlab="Weight", ylab="Mileage", pch=18, col="blue")
text(wt, mpg, row.names(mtcars), cex=0.6, pos=4, col="red")

Pontos 2/público

Anotações matemáticas

Você pode adicionar fórmulas matemáticas a um gráfico usando regras semelhantes às do TEX. Consulte help(plotmath) para obter detalhes e exemplos.

Eixos

Você pode criar eixos personalizados usando a função axis( ).

axis(side, at=, labels=, pos=, lty=, col=, las=, tck=, ...)

onde

opção descrição
lado um número inteiro que indica o lado do gráfico para desenhar o eixo (1=inferior, 2=esquerda, 3=superior, 4=direita)
at um vetor numérico que indica onde as marcas de tique devem ser desenhadas
rótulos um vetor de caracteres de rótulos a serem colocados nos tickmarks (se NULL, os valores at serão usados)
pos a coordenada na qual a linha do eixo deve ser desenhada. (ou seja, o valor no outro eixo onde ela cruza)
lty tipo de linha
col a cor da linha e da marca de escala
las os rótulos são paralelos (=0) ou perpendiculares (=2) ao eixo
tck comprimento da marca de tique como fração da região de plotagem (o número negativo está fora do gráfico, o número positivo está dentro, 0 suprime os tique-taques, 1 cria linhas de grade) o padrão é -0,01
(...) outros parâmetros gráficos

Se você for criar um eixo personalizado, deverá suprimir o eixo gerado automaticamente pela sua função de plotagem de alto nível. A opção axes=FALSE suprime os eixos x e y. xaxt="n" e yaxt="n" suprimem os eixos x e y, respectivamente. Aqui está um exemplo (um tanto exagerado).

# A Silly Axis Example

# specify the data
x <- c(1:10); y <- x; z <- 10/x

# create extra margin room on the right for an axis
par(mar=c(5, 4, 4, 8) + 0.1)

# plot x vs. y
plot(x, y,type="b", pch=21, col="red",
  yaxt="n", lty=3, xlab="", ylab="")

# add x vs. 1/x
lines(x, z, type="b", pch=22, col="blue", lty=2)

# draw an axis on the left
axis(2, at=x,labels=x, col.axis="red", las=2)

# draw an axis on the right, with smaller text and ticks
axis(4, at=z,labels=round(z,digits=2),
  col.axis="blue", las=2, cex.axis=0.7, tck=-.01)

# add a title for the right axis
mtext("y=1/x", side=4, line=3, cex.lab=1,las=2, col="blue")

# add a main title and bottom and left axis labels
title("An Example of Creative Axes", xlab="X values",
  ylab="Y=X")

Eixo 689x689/público

Pequenas marcas de tique

A função minor.tick( ) do pacote Hmisc adiciona pequenas marcas de escala.

# Add minor tick marks
library(Hmisc)
minor.tick(nx=n, ny=n, tick.ratio=n)

nx é o número de marcas de escala menores a serem colocadas entre as marcas de escala maiores do eixo x. ny faz o mesmo com o eixo y. tick.ratio é o tamanho da marca de escala menor em relação à marca de escala maior. O comprimento da marca de escala principal é recuperado de par("tck").

Linhas de referência

Adicione linhas de referência a um gráfico usando a função abline( ).

abline(h=yvalues, v=xvalues)

Outros parâmetros gráficos (como tipo de linha, cor e largura) também podem ser especificados na função abline( ).

# add solid horizontal lines at y=1,5,7
abline(h=c(1,5,7))
# add dashed blue verical lines at x = 1,3,5,7,9
abline(v=seq(1,10,2),lty=2,col="blue")

Observação: Você também pode usar a função grid( ) para adicionar linhas de referência.

Legenda

Adicione uma legenda com a função legend().

legend(location, title, legend, ...)Common options are described below.
opção descrição
localização Há várias maneiras de indicar o local da legenda. Você pode fornecer uma coordenada x,y para o canto superior esquerdo da legenda. Você pode usar locator(1) e, nesse caso, usar o mouse para indicar o local da legenda. Você também pode usar as palavras-chave "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "bottomright" ou "center". Se você usar uma palavra-chave, talvez queira usar inset= para especificar um valor para mover a legenda para dentro do gráfico (como fração da região do gráfico).
título Uma cadeia de caracteres para o título da legenda (opcional)
lenda Um vetor de caracteres com os rótulos
... Outras opções. Se a legenda rotular linhas coloridas, especifique col= e um vetor de cores. Se a legenda rotular símbolos de pontos, especifique pch= e um vetor de símbolos de pontos. Se a legenda rotular a largura ou o estilo da linha, use lwd= ou lty= e um vetor de larguras ou estilos. Para criar caixas coloridas para a legenda (comum em gráficos de barras, caixas ou pizza), use fill= e um vetor de cores.

Outras opções comuns de legenda incluem bty para o tipo de caixa, bg para a cor de fundo, cex para o tamanho e text.col para a cor do texto. A configuração horiz=TRUE define a legenda horizontalmente em vez de verticalmente.

# Legend Example
attach(mtcars)
boxplot(mpg~cyl, main="Milage by Car Weight",
  yaxt="n", xlab="Milage", horizontal=TRUE,
  col=terrain.colors(3))
legend("topright", inset=.05, title="Number of Cylinders",
  c("4","6","8"), fill=terrain.colors(3), horiz=TRUE)

Legenda 689x689/público

Para saber mais sobre lendas, consulte help(legend). Os exemplos na ajuda são particularmente informativos.

Para praticar

Experimente o primeiro capítulo gratuito deste curso on-line de visualização de dados em R.

Este conteúdo foi extraído do site statmethods.net.