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(nrows, ncols) para criar uma matriz de gráficos nrows x ncols que são preenchidos por linha. mfcol=c(nrows, ncols) preenche a matriz por colunas.
# 4 figures arranged in2 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")Tecnologia
# 3 figures arranged in3 rows and 1 column
attach(mtcars)par(mfrow=c(3,1))hist(wt)hist(mpg)hist(disp)Tecnologia
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 2attach(mtcars)layout(matrix(c(1,1,2,3),2,2, byrow =TRUE))hist(wt)hist(mpg)hist(disp)Tecnologia
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 1attach(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)Tecnologia
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)Tecnologia
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.
O R facilita a combinação de vários gráficos em um único gráfico geral, usando as funções
thepar( )oulayout( ).Com a função
par( ), você pode incluir a opçãomfrow=c(nrows, ncols)para criar uma matriz de gráficos nrows x ncols que são preenchidos por linha.mfcol=c(nrows, ncols)preenche a matriz por colunas.A função
layout( )tem o formatolayout(mat), em quematé um objeto de matriz que especifica o local das N figuras a serem plotadas.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:As larguras relativas são especificadas com valores numéricos. As larguras absolutas (em centímetros) são especificadas com a função
lcm().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.
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 primeirofig=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, usenew=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.