R의 상자 그림에 투명한 직사각형 추가
이 기사에서는 R의 상자 그림에 투명한 직사각형을 추가하는 방법에 대한 여러 방법을 보여줍니다.
rect
함수를 사용하여 R의 상자 그림에 투명한 직사각형 추가
투명한 직사각형은boxplot
함수를 사용하여 구성된 기존 그래프에 오버레이로 그릴 수 있습니다. rect
함수는 사각형을 그리기 위해 플롯 함수 다음에 호출됩니다. 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))
ggplot
과 함께annotate
함수를 사용하여 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
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