Como desenhar uma legenda fora de um gráfico em r


A maneira mais fácil de desenhar uma legenda fora de um gráfico base R é adicionar espaço extra à direita do gráfico usando a seguinte sintaxe:

 by( mar =c(5, 4, 4, 8), xpd= TRUE )

O exemplo passo a passo a seguir mostra como usar essa sintaxe na prática.

Etapa 1: crie os dados

Primeiro, vamos criar alguns dados para trabalhar:

 #create data frames
df1 <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7),
                  y=c(2, 7, 19, 26, 24, 29, 31))

df2 <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7),
                  y=c(4, 4, 7, 9, 12, 13, 8))

Passo 2: Crie um gráfico com uma legenda fora do gráfico

A seguir, vamos criar um caminho e adicionar uma legenda fora do caminho no canto superior direito:

 #add extra space to the right of the plot
by( mar =c(5, 4, 4, 8), xpd= TRUE )

#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)

#add legend outside of plot
legend(" topright ", inset =c(-0.2, 0), legend =c(" df1 "," df2 "), pch =c(1,3), title =" Data ") 

Legenda fora de um gráfico base R

Etapa 3: alterar o local da legenda

O argumento inset(x, y) pode ser usado para controlar a localização da legenda à direita do gráfico. Por exemplo, podemos tornar o argumento x mais negativo para empurrar a legenda ainda mais para a direita:

 #add extra space to the right of the plot
by( mar =c(5, 4, 4, 8), xpd= TRUE )

#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)

#add legend outside of plot
legend(" topright ", inset =c(-0.3, 0), legend =c(" df1 "," df2 "), pch =c(1,3), title =" Data ") 

Localização da legenda fora do gráfico em R

Também podemos tornar o argumento y mais positivo para diminuir a legenda:

 #add extra space to the right of the plot
by( mar =c(5, 4, 4, 8), xpd= TRUE )

#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)

#add legend outside of plot
legend(" topright ", inset =c(-0.3, .5), legend =c(" df1 "," df2 "), pch =c(1,3), title =" Data ") 

Gráfico básico em R com legenda fora do gráfico à direita

Sinta-se à vontade para modificar os valores do argumento inset(x, y) para alterar a localização da legenda.

Você pode encontrar mais tutoriais de R nesta página .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *