Ajouter un rectangle transparent à Boxplot dans R
-
Utilisez la fonction
rect
pour ajouter un rectangle transparent à une boîte à moustaches dans R -
Utilisez la fonction
annotate
avecggplot
pour ajouter un rectangle transparent à une boîte à moustaches dans R
Cet article montrera plusieurs méthodes sur la façon d’ajouter un rectangle transparent à une boîte à moustaches dans R.
Utilisez la fonction rect
pour ajouter un rectangle transparent à une boîte à moustaches dans R
Un rectangle transparent peut être dessiné en superposition au graphique existant, construit à l’aide de la fonction boxplot
. La fonction rect
est appelée après la fonction plot pour tracer le rectangle. Notez que rect
peut également être utilisé pour dessiner une séquence de rectangles avec les coordonnées données. Dans ce cas, nous n’ajoutons qu’un rectangle à la boîte à moustaches qui se superpose en arrière-plan. La fonction rect
prend les positions comme les quatre premiers arguments, qui spécifient la zone du rectangle. Ces quatre arguments peuvent être passés sous forme de valeur scalaire ou de vecteur de scalaires. L’exemple suivant prend le jeu de données mtcars
et ses deux colonnes numériques pour dessiner sur des échelles. Comme les valeurs sont numériques, nous pouvons utiliser la fonction max
pour spécifier certaines positions. La fonction rect
peut également prendre la couleur comme paramètre pour remplir le rectangle. Cette fois, la fonction rgb
permet de passer la valeur de la couleur et le paramètre alpha
représentant son opacité.
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))
Utilisez la fonction annotate
avec ggplot
pour ajouter un rectangle transparent à une boîte à moustaches dans R
Si le tracé est construit à l’aide de la bibliothèque ggplot
, nous pouvons utiliser la fonction annotate
pour ajouter un rectangle transparent. L’extrait de code suivant affiche la boîte à moustaches avec les valeurs des caractères sur l’axe des x. La fonction annotate
prend la chaîne rect
comme premier argument pour spécifier la forme du rectangle de la couche d’annotation. Les quatre arguments suivants spécifient les valeurs de position de la forme. Même si l’axe des x a des valeurs non numériques, la fonction peut énumérer leurs positions et ajuster les numéros de position tels qu’ils sont passés par l’utilisateur.
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
Alternativement, on peut utiliser la fonction annotate
pour dessiner un rectangle sur un graphique en courbes et mettre en évidence la plage spécifique du tracé. Notez que lorsque les échelles ont des valeurs numériques, les arguments *min
/*max
peuvent prendre les valeurs exactes de ces plages.
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