Como criar uma legenda horizontal na base r (2 métodos)


Você pode usar os seguintes métodos para criar uma legenda horizontal em um gráfico R base:

Método 1: use o argumento horizontal

 legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.1), xpd= TRUE )

Este exemplo específico cria uma legenda horizontal abaixo do gráfico em que cada elemento da legenda está na mesma linha.

Método 2: use o argumento ncol

 legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        ncol=3, inset=c(0, -.15), xpd= TRUE )

Este exemplo específico cria uma legenda horizontal abaixo do gráfico com três colunas.

O argumento insert(x, y) controla a localização da legenda. Usando valores negativos para o valor y, podemos empurrar a legenda para fora do gráfico.

O argumento xpd=TRUE nos permite colocar a legenda fora do gráfico enquanto permanece visível na área do gráfico.

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: use o argumento horiz para criar uma legenda horizontal na base R

O código a seguir mostra como usar o argumento horiz=TRUE na função legend() para criar uma legenda horizontal na parte inferior de um gráfico R base:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.1), xpd= TRUE ) 

gráfico horizontal na base R

Observe que uma legenda horizontal foi criada e colocada na parte inferior do gráfico.

Sinta-se à vontade para brincar com os valores do argumento inserido para ajustar também a localização da legenda.

Por exemplo, podemos tornar o valor y do argumento inserido ainda mais negativo para diminuir ainda mais a legenda:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.2), xpd= TRUE ) 

Observe que a legenda horizontal foi empurrada ainda mais abaixo do gráfico.

Exemplo 2: use o argumento ncol para criar uma legenda horizontal na base R

O código a seguir mostra como usar o argumento ncol na função legend() para criar uma legenda horizontal com três colunas na parte inferior de um gráfico R base:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        ncol=3, inset=c(0, -.15), xpd= TRUE ) 

Observe que uma legenda horizontal de três colunas foi criada e colocada na parte inferior do gráfico.

Sinta-se à vontade para modificar o valor do argumento ncol para criar uma legenda com um número diferente de colunas.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como alterar o tamanho da legenda no gráfico Base R
Como desenhar uma legenda fora de um gráfico em R
Como alterar a posição da legenda em gráficos R básicos

Add a Comment

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