Entendendo a função plot() em R – Noções básicas de plotagem de gráficos

Neste tutorial, vamos primeiro começar por entender os conceitos básicos usando a função plot() em R. A linguagem R é conhecida por seus gráficos bonitos com um conjunto rico de funções para construir e formatar qualquer tipo de gráfico e a família de funções plot() é uma que nos ajuda a construir esses gráficos.

A função plot() em R não é uma única função definida, mas um espaço reservado para uma família de funções relacionadas. A função exata que está sendo chamada dependerá dos parâmetros usados. Em sua forma mais simples, a função plot() simplesmente plota dois vetores um contra o outro.

plot(c(1,2,3,4,5),c(1,4,9,16,25))

Isso gera um gráfico simples para y = x^2.

Square plot in R

Alterando a aparência do gráfico com a função plot() em R

A função plot() em R pode ser personalizada de várias maneiras para criar gráficos mais complexos e chamativos, como veremos.

  1. O formato dos marcadores: Os marcadores do gráfico são, por padrão, pequenos círculos vazios. Também são conhecidos como caracteres do gráfico – denotados por pch. Você pode alterá-los adicionando um novo valor pch na função plot. Valores de pch de 0 a 25 são válidos e fornecem vários símbolos diferentes no gráfico. Pch 0 é para um quadrado, 1 é para um círculo, 3 é para um triângulo, 4 é para uma cruz e assim por diante.
  2. Tamanho dos marcadores do gráfico: Esse aspecto de um gráfico pode ser controlado usando o parâmetro cex. O parâmetro cex pode ser definido como 0.5 se você quiser que os marcadores sejam 50% menores e 1.5 se você quiser que eles sejam 50% maiores.
  3. Cor dos marcadores do gráfico: Os símbolos podem ser atribuídos a uma ou várias cores. Essas cores podem ser selecionadas a partir de uma lista fornecida pelo R sob a função colors().
  4. Conectando os pontos com linhas: Muitas vezes, é necessário conectar os pontos exibidos com diferentes tipos de linhas. Isso pode ser feito usando o atributo type da função de plotagem. O atributo type definido como ‘p’ se refere apenas a pontos e ‘l’ a apenas uma linha. Da mesma forma, os valores ‘b’ e ‘o’ são para linhas que conectam pontos e sobreposição de pontos, respectivamente. Para obter uma exibição semelhante a um histograma, a opção ‘h’ é usada e ‘s’ é usada para uma opção de etapa.
  5. Variando as linhas: O tipo de linha pode ser especificado pelo parâmetro lty (intervalo de 0 a 6) e a largura da linha é definida usando um parâmetro lwd.

Vamos agora tentar construir alguns gráficos com o que aprendemos até agora.

Vamos começar gerando um gráfico de onda senoidal. Deixe x ser um vetor de sequência de valores de -pi a pi com intervalos de 0.1 e y contém os respectivos valores de seno de x. Agora tente traçar y em relação a x.

x=seq(-pi,pi,0.1)
y=sin(x)
plot(x,y)
Sine wave

Vamos agora tentar mudar os símbolos e cores.

plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

Agora estamos permitindo que o compilador selecione entre 3 símbolos diferentes e 4 cores diferentes para marcar o gráfico. Vamos ver como ficou.

Colorful Sinewave

R also allows combining multiple graphs into a single image for our viewing convenience using the par() function. We only need to set the space before calling the plot function in our graph.

#Definir uma janela de plotagem com uma linha e duas colunas.
par(mfrow=c(1,2))
plot(x,y,type='l')
plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))
Combining Plots In R

A few more graphs using various options from above are illustrated below.

#Definir espaço para 2 linhas e 3 colunas.
par(mfrow=c(2,3))

#Traçar os gráficos usando várias opções.
plot(x,cos(x),col=c('blue','orange'),type='o',pch=19,lwd=2,cex=1.5)

plot(x,x*2,col='red',type='l')

plot(x,x^2/3+4.2, col='violet',type='o',lwd=2,lty=1)

plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3,col='pink',lwd=4)

plot(x<-seq(1,10,0.5),50*x/(x+2),col=c('green','dark green'),type='h')

plot(x,log(x),col='orange',type='s')

O gráfico resultante se parece com isso.

Multiple Plots In R

Adicionando mais informações aos gráficos com a função plot() no R

Os gráficos ficam mais completos quando há notas e informações que os explicam. Isso inclui um título para o gráfico e os eixos, uma legenda do gráfico. Às vezes, até mesmo rotular os pontos de dados será necessário. Vamos ver como adicionar essas informações aos gráficos no R.

  1. O título principal é adicionado usando a opção main na função plot. A fonte, cor e tamanho podem ser personalizados usando font.main, col.main e cex.main respectivamente.
  2. Os títulos dos eixos são fornecidos usando os atributos xlab e ylab. Estes podem ser personalizados usando font.lab, col.lab e cex.lab como acima.
  3. Você também pode adicionar algum texto extra dentro do gráfico usando o atributo text, especificando o texto a ser usado e as coordenadas para exibição.
  4. O atributo de texto também pode ser usado para rotular os pontos de dados. O texto, nesse caso, é um vetor de rótulos em vez de uma string.
  5. A legenda pode ser adicionada a um gráfico usando a função legend() do R. A legenda recebe como entrada as coordenadas, o texto e os símbolos a serem interpretados.

Vamos ver exemplos que ilustram isso.

#Exibindo o título com cor
plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3, col='pink',lwd=4,main="This is a graph",col.main='blue')
Graph With A Title
#Mesmo gráfico com xlabel e ylabel adicionados.

> plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lt=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")
Graph With Title And Labels

Vamos adicionar um rótulo a cada um dos pontos de dados no gráfico usando um atributo de texto.

labelset <-c('one','three','five','seven','nine','eleven')
x1<- c(1,3,5,7,9,11)
y1 <- c(2,7,5,10,8,10)
plot(x1,y1,type='o',lty=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")
text(x1+0.5,y1,labelset,col='red')
Graph With Data Labels

Finalmente, vamos adicionar uma legenda ao gráfico acima usando a função legend().

> legend('topleft',inset=0.05,"Performace",lty=3,col='pink',lwd=4)

A posição pode ser especificada por meio das coordenadas x e y ou usando uma posição como ‘topleft’ ou ‘bottomright’. Inset se refere a mover a caixa da legenda um pouco para dentro do gráfico. O gráfico resultante agora tem uma legenda.

Graph With Legend

Sobrepondo Gráficos

R also allows two graphs to be displayed on top of each other instead of creating a new window for every graph. This is done by calling a lines() function for the second graph rather than plot() again. These are most useful when performing comparisons of metrics or among different sets of values. Let us look at an example.

x=seq(2,10,0.1)
y1=x^2
y2=x^3
plot(x,y1,type='l',col='red')
lines(x,y2,col='green')
legend('bottomright',inset=0.05,c("Squares","Cubes"),lty=1,col=c("red","green"),title="Graph type")
Overlaid Graph With Legend

Adicionando Linhas a um Gráfico

Linhas retas podem ser adicionadas a um gráfico existente usando a função simples abline(). A função abline() recebe 4 argumentos, a, b, h e v. As variáveis a e b representam a inclinação e o intercepto. H representa os pontos y para linhas horizontais e v representa os pontos x para linhas verticais.

Vamos ver um exemplo para deixar isso claro. Tente executar essas três declarações após construir o gráfico acima para quadrados e cubos.

abline(a=4,b=5,col='blue')
abline(h=c(4,6,8),col="dark green",lty=2)
abline(v=c(4,6,8),col="dark green",lty=2)
Graph With Lines

A primeira linha azul é construída com a inclinação e o intercepto especificados. Os próximos conjuntos de três linhas horizontais e verticais são desenhados nos valores x e y especificados no estilo de linha pontilhada, conforme mencionado por lty=2.

Isso abrange o básico da função plot em R. Quando combinado com outros pacotes como ggplot2, o R constrói gráficos mais apresentáveis ​​e dinâmicos, como veremos em tutoriais futuros.

Source:
https://www.digitalocean.com/community/tutorials/plot-function-in-r