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

Combinando gráficos no R

O R facilita a combinação de vários gráficos em um único gráfico geral, usando as funções thepar( ) ou layout( ).

Com a função par( ), você pode incluir a opção mfrow=c(nrowsncols) para criar uma matriz de gráficos nrows x ncols que são preenchidos por linha. mfcol=c(nrowsncols) preenche a matriz por colunas.

# 4 figures arranged in 2 rows and 2 columns
attach(mtcars)
par(mfrow=c(2,2))
plot(wt,mpg, main="Scatterplot of wt vs. mpg")
plot(wt,disp, main="Scatterplot of wt vs disp")
hist(wt, main="Histogram of wt")
boxplot(wt, main="Boxplot of wt")

Layout 1

# 3 figures arranged in 3 rows and 1 column
attach(mtcars)
par(mfrow=c(3,1))
hist(wt)
hist(mpg)
hist(disp)

Layout 2

A função layout( ) tem o formato layout(mat), em que mat é um objeto de matriz que especifica o local das N figuras a serem plotadas.

# One figure in row 1 and two figures in row 2
attach(mtcars)
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))
hist(wt)
hist(mpg)
hist(disp)

Layout 3

Opcionalmente, você pode incluir as opções widths= e heights= na função layout( ) para controlar o tamanho de cada figura com mais precisão. Essas opções têm o formato:

  • widths= um vetor de valores para as larguras das colunas
  • heights= um vetor de valores para as alturas das linhas

As larguras relativas são especificadas com valores numéricos. As larguras absolutas (em centímetros) são especificadas com a função lcm().

# One figure in row 1 and two figures in row 2
# row 1 is 1/3 the height of row 2
# column 2 is 1/4 the width of the column 1
attach(mtcars)
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE),
  widths=c(3,1), heights=c(1,2))
hist(wt)
hist(mpg)
hist(disp)

Layout3a 689x689

Consulte help(layout) para obter mais detalhes.

Criação de um arranjo de figuras com controle preciso

No exemplo a seguir, dois gráficos de caixa são adicionados ao scatterplot para criar um gráfico aprimorado.

# Add boxplots to a scatterplot
par(fig=c(0,0.8,0,0.8), new=TRUE)
plot(mtcars$wt, mtcars$mpg, xlab="Car Weight",
  ylab="Miles Per Gallon")
par(fig=c(0,0.8,0.55,1), new=TRUE)
boxplot(mtcars$wt, horizontal=TRUE, axes=FALSE)
par(fig=c(0.65,1,0,0.8),new=TRUE)
boxplot(mtcars$mpg, axes=FALSE)
mtext("Enhanced Scatterplot", side=3, outer=TRUE, line=-3)

Layout 4 Gráficos avançados

Para entender esse gráfico, pense na área total do gráfico como indo de (0,0) no canto inferior esquerdo a (1,1) no canto superior direito. O formato do parâmetro fig= é um vetor numérico do formato c(x1, x2, y1, y2). O primeiro fig= configura o gráfico de dispersão que vai de 0 a 0,8 no eixo x e de 0 a 0,8 no eixo y. O boxplot superior vai de 0 a 0,8 no eixo x e de 0,55 a 1 no eixo y. Escolhi 0,55 em vez de 0,8 para que a figura superior fique mais próxima do gráfico de dispersão. O boxplot do lado direito vai de 0,65 a 1 no eixo x e de 0 a 0,8 no eixo y. Novamente, escolhi um valor para aproximar o boxplot do lado direito do gráfico de dispersão. Você precisa experimentar para obter o resultado certo.

fig= inicia um novo gráfico, portanto, para adicionar a um gráfico existente, use new=TRUE.

Você pode usar isso para combinar vários gráficos em qualquer disposição em um único gráfico.

Para praticar

Experimente o primeiro capítulo gratuito deste curso interativo de visualização de dados, que aborda a combinação de gráficos.

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