R에서 Lines() 함수를 사용하여 플롯에 선 추가
이 기사에서는 R에서lines()
함수를 사용하여 플롯에 선을 추가하는 방법을 소개합니다.
lines()
함수를 사용하여 R의 플롯에 선 추가
lines()
함수는 R graphics
패키지의 일부이며 플롯에 선을 추가하는 데 사용됩니다. 처음에는plot
함수를 호출하여 처음 두 인수로 지정된 변수 매핑이있는 플롯을 구성해야합니다. y 축 좌표를 나타내는 두 번째 인수는 선택 사항입니다. 플롯이 그려지면lines()
함수를 호출하고 필요에 따라 좌표 벡터를 전달하여 플롯에 선을 추가 할 수 있습니다. lines()
함수가 작동하기 위해 선 그래프를 그리는 데plot
함수가 필요하지 않습니다.
library(stats)
library(babynames)
library(dplyr)
plot(cars$speed, cars$dist, type = "l", col = "red",
main = "Title of the Plot",
xlab = "Speed (mph)",
ylab = "Stopping Distance (Feet)")
lines(cars$speed, cars$dist/4 , col = "green")
legend("topleft", c("line 1", "line 2"),
lty = c(1,1),
col = c("red", "green"))
points
를 사용하여 R의 플롯에 포인트 추가
lines()
함수와 유사하게graphics
패키지는 플롯에 포인트를 그리는points()
함수를 제공합니다. 다음 예제는 동일한 플롯에 두 개의 선과 점 매핑이 만들어지는 시나리오를 보여줍니다. 그러나 원래 선 그래프는plot
기능을 사용하여 그려집니다.
library(stats)
library(babynames)
library(dplyr)
plot(cars$speed, cars$dist, type = "l", col = "red",
main = "Title of the Plot",
xlab = "Speed (mph)",
ylab = "Stopping Distance (Feet)")
points(cars$speed, cars$dist, col = "blue" )
lines(cars$speed, cars$dist/4 , col = "green")
points(cars$speed, cars$dist/4 , col = "black")
legend("topleft", c("line 1", "line 2"),
lty = c(1,1),
col = c("red", "green"))
plot
및lines
함수 호출 순서가 플롯의 척도에 영향을 미침
때로는 첫 번째 함수 호출로 매핑 된 데이터에 다음 매핑에 충분하지 않은 배율이 있습니다. 다음 코드 조각은 줄 중 하나가 플롯에서 거의 경계를 벗어난 방법을 보여줍니다.
library(stats)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice")) %>% filter(sex=="F")
dat2 <- babynames %>%
filter(name %in% c("Mary")) %>% filter(sex=="F")
plot(dat$year, dat$n, type = "l", col = "blue",
main = "Women born with different names",
xlab = "Year",
ylab = "Number of babies born")
lines(dat2$year, dat2$n, col = "red")
이전 문제는 다음 예와 같이 라인을 수동으로 재정렬하여 해결할 수 있습니다. 그러나 더 복잡한 스크립트는 y 축 데이터의 최대 값에 대한 조건문과 동적 검사를 구성해야 할 수 있습니다.
library(stats)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice")) %>% filter(sex=="F")
dat2 <- babynames %>%
filter(name %in% c("Mary")) %>% filter(sex=="F")
dat3 <- babynames %>%
filter(name %in% c("Mae")) %>% filter(sex=="F")
plot(dat2$year, dat2$n, type = "l", col = "blue",
main = "Women born with different names",
xlab = "Year",
ylab = "Number of babies born")
lines(dat$year, dat$n, col = "red")
lines(dat3$year, dat3$n, col = "orange")
legend("topright", c("Mary", "Alice", "Mae"),
lty = c(1,1,1),
col = c("blue", "red", "orange"))
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