Adicionar Retângulo Transparente ao Boxplot em R
-
Use a função
rect
para adicionar retângulo transparente a um boxplot em R -
Use a função
annotate
comggplot
para adicionar retângulo transparente a um boxplot em R
Este artigo demonstrará vários métodos sobre como adicionar um retângulo transparente a um boxplot em R.
Use a função rect
para adicionar retângulo transparente a um boxplot em R
Um retângulo transparente pode ser desenhado como uma sobreposição ao gráfico existente, construído usando a função boxplot
. A função rect
é chamada depois da função plot para desenhar o retângulo. Observe que rect
também pode ser usado para desenhar uma sequência de retângulos com as coordenadas fornecidas. Nesse caso, adicionamos apenas um retângulo ao boxplot que se sobrepõe como plano de fundo. A função rect
assume posições como os primeiros quatro argumentos, que especificam a área do retângulo. Esses quatro argumentos podem ser passados como um valor escalar ou um vetor de escalares. O exemplo a seguir usa o conjunto de dados mtcars
e suas duas colunas numéricas para desenhar em escalas. Como os valores são numéricos, podemos usar a função max
para especificar algumas posições. A função rect
também pode usar a cor como parâmetro para preencher o retângulo. Desta vez, a função rgb
é usada para passar o valor da cor e o parâmetro alpha
que representa sua opacidade.
boxplot(hp ~ mpg, data = mtcars,
xlab = "Miles/(US) gallon", ylab = "Gross Horsepower",
col = "orange")
rect(-1, -1, max(mtcars$hp + 100), max(mtcars$hp) + 100,
col= rgb(red = 0.95, green = 0.8, blue = 0.3, alpha = 0.2))
Use a função annotate
com ggplot
para adicionar retângulo transparente a um boxplot em R
Se o gráfico for construído usando a biblioteca ggplot
, podemos usar a função annotate
para adicionar um retângulo transparente. O fragmento de código a seguir exibe o boxplot com os valores dos caracteres no eixo x. A função annotate
leva a string rect
como o primeiro argumento para especificar a forma retângulo da camada de anotação. Os quatro argumentos a seguir especificam os valores de posição da forma. Mesmo que o eixo x tenha valores não numéricos, a função pode enumerar suas posições e ajustar os números das posições conforme passados pelo usuário.
library(ggplot2)
library(dplyr)
p1 <- ggplot(InsectSprays, aes(x = spray, y = count)) +
geom_boxplot(fill = "pink") +
scale_x_discrete(name = "Number of babies") +
ggtitle("Title of the Plot") +
annotate("rect", xmin = 1, xmax = 3, ymin = 0, ymax = max(InsectSprays$count),
alpha = .2, fill = "orange")
p1
Alternativamente, pode-se usar a função annotate
para desenhar um retângulo em um gráfico de linha e destacar o intervalo específico do gráfico. Observe que quando as escalas têm valores numéricos, os argumentos *min
/*max
podem obter os valores exatos desses intervalos.
library(ggplot2)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice", "Maude", "Mae")) %>%
filter(sex=="F")
p1 <- ggplot(dat, aes(x = year, y = n, color = name)) +
geom_line() +
scale_y_continuous(
breaks = seq(0, 15000, 1000),
name = "Number of babies") +
ggtitle("Name Popularity Through Years") +
annotate("rect", xmin = 1960, xmax = 2000, ymin = -1, ymax = max(dat$n),
alpha = .2, fill = "orange")
p1
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook