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 ")
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 ")
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 ")
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 .