Adicionar Retângulo Transparente ao Boxplot em R

Jinku Hu 15 fevereiro 2024
  1. Use a função rect para adicionar retângulo transparente a um boxplot em R
  2. Use a função annotate com ggplot para adicionar retângulo transparente a um boxplot em R
Adicionar Retângulo Transparente ao 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))

função retângulo transparente retângulo

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

retângulo transparente anotar ggplot

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

retângulo transparente ggplot xmax

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Artigo relacionado - R Plot