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))Tecnologia
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.
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)Tecnologia
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,...)Tecnologia
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")Tecnologia
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( ).
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
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")Tecnologia
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)Tecnologia
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( ).
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")Tecnologia
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.Tecnologia
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)Tecnologia
Para saber mais sobre lendas, consulte help(legend). Os exemplos na ajuda são particularmente informativos.
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:
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.Muitos outros parâmetros gráficos (como tamanho do texto, fonte, rotação e cor) também podem ser especificados na função
title( ).Anotações de texto
Você pode adicionar texto aos gráficos usando as funções
text( )emtext( ).text( )coloca o texto dentro do gráfico, enquantomtext( )coloca o texto em uma das quatro margens.As opções comuns são descritas abaixo.
Outras opções comuns são
cex,colefont(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.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( ).onde
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=FALSEsuprime os eixos x e y.xaxt="n"eyaxt="n"suprimem os eixos x e y, respectivamente. Aqui está um exemplo (um tanto exagerado).Pequenas marcas de tique
A função
minor.tick( )do pacote Hmisc adiciona pequenas marcas de escala.nxé o número de marcas de escala menores a serem colocadas entre as marcas de escala maiores do eixo x.nyfaz 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 depar("tck").Linhas de referência
Adicione linhas de referência a um gráfico usando a função
abline( ).Outros parâmetros gráficos (como tipo de linha, cor e largura) também podem ser especificados na função
abline( ).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().Outras opções comuns de legenda incluem
btypara o tipo de caixa,bgpara a cor de fundo,cexpara o tamanho etext.colpara a cor do texto. A configuraçãohoriz=TRUEdefine a legenda horizontalmente em vez de verticalmente.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.