Como sombrear uma área no ggplot2 (com exemplos)


Você pode usar a seguinte sintaxe básica para sombrear uma área específica em um gráfico no ggplot2:

 ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ')

Este exemplo específico sombreia a área entre os valores x de 3 e 5 e os valores y de 3 e 7.

O argumento de preenchimento controla a cor da área sombreada e o argumento alfa controla a transparência da cor.

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

Exemplo: sombrear uma área em ggplot2

Suponha que temos o seguinte quadro de dados em R que contém informações sobre pontos marcados e rebotes coletados por vários jogadores de basquete:

 #create data frame
df <- data. frame (points=c(3, 3, 5, 6, 7, 8, 9, 9, 8, 5),
                 rebounds=c(2, 6, 5, 5, 8, 5, 9, 9, 8, 6))

#view data frame
df

   rebound points
1 3 2
2 3 6
3 5 5
4 6 5
5 7 8
6 8 5
7 9 9
8 9 9
9 8 8
10 5 6

Podemos usar o código a seguir para criar um gráfico de dispersão e sombrear a área entre os valores x de 3 e 5 e os valores y de 3 e 7 com um retângulo vermelho claro:

 library (ggplot2)

#create scatter plot with shaded area
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ') 

área cinza do ggplot2

A área que especificamos na função annotate() é sombreada com um retângulo vermelho claro.

Observe que o valor do argumento alfa varia de 0 a 1, com valores mais baixos indicando maior transparência.

Por exemplo, se alterarmos o valor alfa para 0,5, a cor da área sombreada ficará mais escura:

 library (ggplot2)

#create scatter plot with shaded area
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ') 

Observe também que você pode usar a função annotate() diversas vezes para criar diversas áreas sombreadas em seu gráfico:

 library (ggplot2)

#create scatter plot with two shaded areas
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ') 

múltiplas áreas sombreadas no ggplot2

Sinta-se à vontade para brincar com os argumentos da função annotate() para criar o sombreamento exato que você deseja em seu gráfico.

Recursos adicionais

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

Como adicionar texto aos gráficos ggplot2
Como remover linhas de grade no ggplot2
Como alterar os rótulos do eixo X no ggplot2

Add a Comment

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