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 ')
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 ')
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