Aggiungi rettangolo trasparente a boxplot in R
-
Usa la funzione
rect
per aggiungere un rettangolo trasparente a un boxplot in R -
Usa la funzione
annotate
conggplot
per aggiungere un rettangolo trasparente a un boxplot in R
Questo articolo dimostrerà più metodi su come aggiungere un rettangolo trasparente a un boxplot in R.
Usa la funzione rect
per aggiungere un rettangolo trasparente a un boxplot in R
È possibile disegnare un rettangolo trasparente in sovrapposizione al grafico esistente, costruito utilizzando la funzione boxplot
. La funzione rect
viene chiamata dopo la funzione plot per disegnare il rettangolo. Nota che rect
può essere usato anche per disegnare una sequenza di rettangoli con le coordinate date. In questo caso, aggiungiamo solo un rettangolo al boxplot che si sovrappone come sfondo. La funzione rect
assume posizioni come primi quattro argomenti, che specificano l’area del rettangolo. Questi quattro argomenti possono essere passati come un valore scalare o un vettore di scalari. L’esempio seguente prende il set di dati mtcars
e le sue due colonne numeriche per disegnare su scale. Poiché i valori sono numerici, possiamo utilizzare la funzione max
per specificare alcune posizioni. La funzione rect
può anche prendere il colore come parametro per riempire il rettangolo. Questa volta, la funzione rgb
viene utilizzata per passare il valore del colore e il parametro alpha
che ne rappresenta l’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))
Usa la funzione annotate
con ggplot
per aggiungere un rettangolo trasparente a un boxplot in R
Se il grafico è costruito usando la libreria ggplot
, possiamo usare la funzione annotate
per aggiungere un rettangolo trasparente. Il seguente frammento di codice visualizza il boxplot con i valori dei caratteri sull’asse x. La funzione annotate
prende la stringa rect
come primo argomento per specificare la forma del rettangolo del livello di annotazione. I quattro argomenti seguenti specificano i valori di posizione della forma. Anche se l’asse x ha valori non numerici, la funzione può enumerare le loro posizioni e adattare i numeri di posizione passati dall’utente.
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
In alternativa, è possibile utilizzare la funzione annotate
per disegnare un rettangolo su un grafico a linee ed evidenziare l’intervallo specifico del grafico. Notare che quando le scale hanno valori numerici, gli argomenti *min
/*max
possono prendere i valori esatti da quegli intervalli.
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