Добавить прозрачный прямоугольник на коробчатую диаграмму в R
-
Используйте функцию
rect
, чтобы добавить прозрачный прямоугольник к прямоугольной диаграмме в R -
Используйте функцию
annotate
сggplot
, чтобы добавить прозрачный прямоугольник к прямоугольной диаграмме в R

В этой статье будет продемонстрировано несколько методов того, как добавить прозрачный прямоугольник в коробчатую диаграмму в R.
Используйте функцию rect
, чтобы добавить прозрачный прямоугольник к прямоугольной диаграмме в R
Прозрачный прямоугольник можно нарисовать как наложение на существующий график, построенный с помощью функции boxplot
. Функция rect
вызывается после функции plot для рисования прямоугольника. Обратите внимание, что rect
также можно использовать для рисования последовательности прямоугольников с заданными координатами. В этом случае мы добавляем только один прямоугольник к блок-графику, который накладывается на фон. Функция rect
принимает позиции в качестве первых четырех аргументов, определяющих площадь прямоугольника. Эти четыре аргумента могут быть переданы как скалярное значение или вектор скаляров. В следующем примере набор данных mtcars
и два его числовых столбца используются для рисования на шкалах. Поскольку значения числовые, мы можем использовать функцию max
, чтобы указать некоторые позиции. Функция rect
также может принимать цвет в качестве параметра для заполнения прямоугольника. На этот раз функция rgb
используется для передачи значения цвета и параметра alpha
, представляющего его непрозрачность.
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))
Используйте функцию annotate
с ggplot
, чтобы добавить прозрачный прямоугольник к прямоугольной диаграмме в R
Если график построен с использованием библиотеки ggplot
, мы можем использовать функцию annotate
, чтобы добавить прозрачный прямоугольник. Следующий фрагмент кода отображает коробчатую диаграмму со значениями символов на оси x. Функция annotate
принимает строку rect
в качестве первого аргумента для определения прямоугольной формы слоя аннотации. Следующие четыре аргумента определяют значения положения фигуры. Несмотря на то, что ось x имеет нечисловые значения, функция может перечислить их позиции и соответствовать номерам позиций, переданным пользователем.
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
В качестве альтернативы можно использовать функцию annotate
, чтобы нарисовать прямоугольник на линейном графике и выделить определенный диапазон графика. Обратите внимание, что когда шкалы имеют числовые значения, аргументы *min
/*max
могут принимать точные значения из этих диапазонов.
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
Сопутствующая статья - R Plot
- Создавайте бок о бок Boxplots в R
- Функция scale_colour_discrete в R
- Функция scale_x_discrete в R
- Функция scale_y_continuous в R
- Добавление линии на график с помощью функции Lines() в R