Plot character, ou pch, é o argumento padrão para definir o caractere que será desenhado em várias funções do R.
Você pode adicionar texto explicativo a um gráfico de diversas formas: rótulos dos eixos, títulos, legendas ou texto diretamente no gráfico. As funções base de gráficos no R normalmente criam rótulos dos eixos por padrão, mas isso pode ser substituído usando os argumentos xlab(), para informar o rótulo do eixo x, e ylab(), para o rótulo do eixo y.
Algumas funções base também geram títulos padrão, que novamente podem ser substituídos, como vemos aqui:
library(MASS)
par(mfrow = c(1,2))
plot(density(geyser$waiting))
plot(density(geyser$waiting), main ="Estimated density: \n Old Faithful waiting times")Tecnologia
O gráfico à esquerda usa o título padrão retornado pela função density, indicando que o gráfico foi gerado por essa função com suas opções padrão e também mostra a especificação em R da variável cuja densidade está sendo plotada. No gráfico da direita, esse título padrão foi substituído ao informar o argumento opcional main. Note que, ao incluir o caractere de quebra de linha, barra invertida n, criamos um título de duas linhas dentro dessa string.
text() function
Assim como as funções de linhas e pontos, text é uma função de baixo nível que permite adicionar texto explicativo a um gráfico já existente. Para isso, é preciso especificar os valores de x e y, as coordenadas no gráfico onde o texto deve aparecer, e labels, um vetor de caracteres com o texto a ser adicionado.
Por padrão, o texto adicionado ao gráfico fica centralizado nos valores de x informados, mas o argumento opcional adj pode ser usado para alterar o alinhamento.
Vale notar que o argumento adj da função text() determina a posição horizontal do texto e pode receber qualquer valor entre 0 (alinhado à esquerda) e 1 (alinhado à direita). Na verdade, ele pode até receber valores fora desse intervalo. Por exemplo, um valor negativo faz o texto começar à direita da posição x especificada. Da mesma forma, valores de adj maiores que 1 fazem o texto terminar à esquerda da posição x.
library(MASS)
plot(UScereal$fibre)
text(5,28,"<-- Outliers [left-justified text at (5, 28)]", adj =0)
text(65,23,"[Right-justified text at (65, 23)]", adj =1, col ="red")
text(5,28,"[Centered text (default) at (31, 18)]", col ="blue")Tecnologia
Fontes, orientações e outros recursos de texto
A seguir, veja algumas formas de alterar a aparência do texto adicionado por meio de argumentos opcionais da função text. Por padrão, o texto é criado na horizontal, mas isso pode ser mudado com o argumento srt, que define o ângulo de orientação em relação ao eixo horizontal.
No exemplo, o texto em vermelho fica inclinado para cima ao definirmos srt como o valor positivo de 30 graus, enquanto o texto em verde se inclina para baixo com srt igual a -45.
Também é possível definir a cor do texto com o argumento col, e o texto em vermelho mostra que dá para mudar o tamanho com o argumento cex. Com cex = 1.2, deixamos o texto 20% maior que o normal.
Outra característica alterada no exemplo é a fonte, definida pelo argumento font. O valor padrão é font = 1, que indica texto normal; font = 2 deixa em negrito; font = 3 em itálico; e font = 4 aplica negrito e itálico.
library(MASS)
plot(Boston$rad)# "Inner city" com cor e rotação ajustadas
text(350,24, adj =1,"Inner city? -->", srt =30, font =2, cex =1.2, col ="red")# "Suburbs" com cor e rotação ajustadas
text(100,15,"Suburbs? -->", srt =-45, font =3, col ="green")
title("Text with varying orientations, fonts, sizes & colors")Tecnologia
Ajustando posição, tamanho e fonte do texto
No exemplo a seguir, você vai:
Criar um gráfico de MPG.city vs. Horsepower do data frame Cars93, com os dados representados por círculos vazados (pch padrão).
Construir a variável index3 usando a função which() para identificar as linhas que contêm todos os carros de 3 cilindros.
Usar a função points() para destacar círculos sólidos, pch = 16, sobre todos os pontos do gráfico que representam carros de 3 cilindros.
Usar a função text() com a variável Make, como antes, para adicionar rótulos à direita dos carros de 3 cilindros; agora use adj = 0.2 para empurrar os rótulos mais para a direita, o argumento cex para aumentar o tamanho em 20% e font para deixar os rótulos em negrito itálico.
# Gráfico de MPG.city vs. Horsepower com círculos vazados
plot(Cars93$Horsepower, Cars93$MPG.city)# Criar index3, apontando para carros de 3 cilindros
index3 <- which(Cars93$Cylinders ==3)# Destacar carros de 3 cilindros com círculos sólidos
points(Cars93$Horsepower[index3],
Cars93$MPG.city[index3],
pch =16)# Adicionar nomes dos carros, deslocados dos pontos, com texto maior em negrito itálico
text(Cars93$Horsepower[index3],
Cars93$MPG.city[index3],
Cars93$Make[index3],
adj =-0.2, cex =1.2, font =4)Tecnologia
Ao executar o código acima, você verá o seguinte resultado:
Neste tutorial, você aprenderá a usar o R PCA (Principal Component Analysis) para extrair dados com muitas variáveis e criar visualizações para exibir esses dados.
Plot character, ou pch, é o argumento padrão para definir o caractere que será desenhado em várias funções do R.
Você pode adicionar texto explicativo a um gráfico de diversas formas: rótulos dos eixos, títulos, legendas ou texto diretamente no gráfico. As funções base de gráficos no R normalmente criam rótulos dos eixos por padrão, mas isso pode ser substituído usando os argumentos
xlab(), para informar o rótulo do eixo x, eylab(), para o rótulo do eixo y.Algumas funções base também geram títulos padrão, que novamente podem ser substituídos, como vemos aqui:
O gráfico à esquerda usa o título padrão retornado pela função density, indicando que o gráfico foi gerado por essa função com suas opções padrão e também mostra a especificação em R da variável cuja densidade está sendo plotada. No gráfico da direita, esse título padrão foi substituído ao informar o argumento opcional main. Note que, ao incluir o caractere de quebra de linha, barra invertida n, criamos um título de duas linhas dentro dessa string.
text()functionAssim como as funções de linhas e pontos, text é uma função de baixo nível que permite adicionar texto explicativo a um gráfico já existente. Para isso, é preciso especificar os valores de x e y, as coordenadas no gráfico onde o texto deve aparecer, e labels, um vetor de caracteres com o texto a ser adicionado.
Por padrão, o texto adicionado ao gráfico fica centralizado nos valores de x informados, mas o argumento opcional
adjpode ser usado para alterar o alinhamento.Vale notar que o argumento
adjda funçãotext()determina a posição horizontal do texto e pode receber qualquer valor entre 0 (alinhado à esquerda) e 1 (alinhado à direita). Na verdade, ele pode até receber valores fora desse intervalo. Por exemplo, um valor negativo faz o texto começar à direita da posiçãoxespecificada. Da mesma forma, valores deadjmaiores que 1 fazem o texto terminar à esquerda da posiçãox.Fontes, orientações e outros recursos de texto
A seguir, veja algumas formas de alterar a aparência do texto adicionado por meio de argumentos opcionais da função text. Por padrão, o texto é criado na horizontal, mas isso pode ser mudado com o argumento
srt, que define o ângulo de orientação em relação ao eixo horizontal.No exemplo, o texto em vermelho fica inclinado para cima ao definirmos
srtcomo o valor positivo de 30 graus, enquanto o texto em verde se inclina para baixo comsrtigual a -45.Também é possível definir a cor do texto com o argumento
col, e o texto em vermelho mostra que dá para mudar o tamanho com o argumentocex. Comcex = 1.2, deixamos o texto 20% maior que o normal.Outra característica alterada no exemplo é a fonte, definida pelo argumento
font. O valor padrão éfont = 1, que indica texto normal;font = 2deixa em negrito;font = 3em itálico; efont = 4aplica negrito e itálico.Ajustando posição, tamanho e fonte do texto
No exemplo a seguir, você vai:
MPG.cityvs.Horsepowerdo data frameCars93, com os dados representados por círculos vazados (pchpadrão).index3usando a funçãowhich()para identificar as linhas que contêm todos os carros de 3 cilindros.points()para destacar círculos sólidos,pch = 16, sobre todos os pontos do gráfico que representam carros de 3 cilindros.text()com a variávelMake, como antes, para adicionar rótulos à direita dos carros de 3 cilindros; agora useadj = 0.2para empurrar os rótulos mais para a direita, o argumentocexpara aumentar o tamanho em 20% efontpara deixar os rótulos em negrito itálico.Ao executar o código acima, você verá o seguinte resultado:
Teste você mesmo.
Para saber mais sobre como adicionar texto a gráficos, confira este vídeo do nosso curso Data Visualization in R.
Este conteúdo foi extraído do curso Data Visualization in R da DataCamp, por Ronald Pearson.