νλ‘―μ μΆλ ₯νλ κ·Έλν½ μ₯μΉλ μ¬λ¬ κ°μ§ κ·Έλν½ μΈμλ₯Ό κ°μ§κ³ μλ€. κ·Έλν½ μΈμλ κ·Έλν½ μμ±μ μ μν κ°μΌλ‘, νλ©΄μ λΆν λ°©λ² λ° λ§μ§, κΈμμ ν¬κΈ° λ° μμ λ±μ μ€μ κ°μ΄λ€. κ·Έλ¬λ―λ‘ κ·Έλν½ μΈμμ μ€μ μΌλ‘ νλ‘―μ λͺ¨μκ³Ό κ·Έλν½ νκ²½μ λ€μνκ² μ‘°μ ν μ μλ€. par() ν¨μλ κ·Έλν½ μΈμλ₯Ό μ‘°ννκ±°λ μ€μ νλλ° μ¬μ©νλ€.
κ·Έλ¦Ό μμμ λΆν ν΄μ νλ‘― μμμ λ§λ€κ³ λ°°μΉμ μμλ₯Ό μ€μ νλ μΈμλ€. μΌλ°μ μΌλ‘ ν νλ©΄μ μ¬λ¬ νλ‘―μ κ·Έλ € λΉκ΅νλ κ²½μ°μ μ μ©νλ€. κΈ°λ³Έ κ°μ mfrow = c(1,1)μ mfcol = c(1,1)λ‘, λ κ°μ§ λͺ¨λ ν νλ©΄μ νλμ νλ‘―μ 그리λλ‘ κ·Έλν½ νκ²½μ μ€μ νλ€.
mfrowμ mfcolμ μΈμ κ°μ c(nr, nc)μ κ°μ κΈΈμ΄κ° 2μΈ λ²‘ν°λ₯Ό μ¬μ©νλ€. μ΄ μΈμ κ°μ μ΄μ©ν΄μ κ·Έλ¦Ό μμλ₯Ό λ±κ°κ²©μΌλ‘ λΆν νμ¬ nr * nc κ°μ νλ‘― μμμ λ§λ λ€. μ΄λ nrμ λΆν νλ €λ νμ κ°μλ₯Ό μλ―Ένλ€. λ§μ°¬κ°μ§λ‘ ncλ λΆν νλ €λ μ΄μ κ°μλ₯Ό μλ―Ένλ€.
mfrow μΈμλ κ·Έλ €μ§λ νλ‘―μ λ°°μΉν λ ν μ°μ μΌλ‘ λ°°μΉνκ³ , mfcol μΈμλ μ΄ μ°μ μΌλ‘ λ°°μΉνλ€. μλ₯Ό λ€μ΄ mfrow = c(3,2)μ κ²½μ°λ 3ν 2μ΄μ 6κ°μ νλ‘ μμμ λ§λ λ€.
mfrow, mfcol μΈμμ μ μ¬ν κΈ°λ₯μ νλ ν¨μλ‘ layout() ν¨μκ° μλ€. κ²½μ°μ λ°λΌμλ μ΄ ν¨μκ° νμ₯μ±μ΄ λ λ°μ΄λκ³ μ μ©ν μ μλ€. layout() ν¨μλ mfrow, mfcol μΈμμ λ¬λ¦¬ λμΉμ΄ μλ λͺ¨μμΌλ‘λ λΆν μ΄ κ°λ₯νλ€.
(m <- matrix(c(1,1,2,3), ncol = 2, byrow = T))
layout(mat = m)
plot(cars, main = "scatter plot of cars data", pch = 19, col = 4)
hist(cars$speed)
hist(cars$dist)
νλ©΄μ΄ λΆν λ μ΄νμλ νΈμΆλλ μμμ λ°λΌ 1λ² μμ, 2λ² μμ, 3λ² μμμ μμΌλ‘ νλ‘―μ λ°°μΉνλ€. layout() ν¨μλ κ°κ°μ μμμ λν λμ΄μ λλΉλ μ§μ ν μ μμΌλ©° νλ ¬μ 볡μ‘νκ² μμ±ν μλ‘ λ³΅μ‘ν λͺ¨μμ νλ©΄ λΆν μ΄ κ°λ₯νλ€.
layout.show() ν¨μλ layout() ν¨μλ₯Ό μ΄μ©ν΄μ λΆν ν κ·Έλν½ νλ©΄μ λͺ¨μμ νμ ν μ μλλ‘ ν΄λΉ ꡬμμ ν λ리μ μ μ κ·Έλ¦°λ€.
split.screen() ν¨μλ νλμ κ·Έλν½ μ₯μΉλ₯Ό μ¬λ¬ κ°μ νλ©΄μΌλ‘ λΆν νλ ν¨μλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ layout() μ²λΌ νλ©΄μ μμ μμ¬λ‘ λΆν νμ¬ νλ‘―μ 그릴 μ μλ€. κ·Έλ¦¬κ³ layout() ν¨μλ³΄λ€ λ λΆκ°μ μΈ κΈ°λ₯μ μννλ λͺ κ°μ ν¨μλ₯Ό μ 곡νλ€. split.screen() ν¨μκ΅°μλ νλ©΄μ λΆν νλ split.screen() ν¨μμ λΆν λ νλ©΄μ μ§μ νλ screen(), μ§μ λ νλ©΄μ νλ‘―μ μ§μ°λ erase.screen(), νλ©΄ λΆν μ μμ μ λ§μΉλ close.screen()κ° μλ€.
op <- par(no.readonly = TRUE)
# λ°νμμ ν°μμΌλ‘ μ§μ
par(bg = "white")
# μν 2κ°λ‘ νλ©΄ λΆν
split.screen(fig = c(2,1))
# 2λ² νλ©΄μ μ’μ° λ κ°λ‘ λΆν
split.screen(c(1,2), screen = 2)
# 3λ² νλ©΄μ μ§μ
screen(n = 3)
hist(cars$speed)
# 1λ² νλ©΄μ μ§μ
screen(1)
plot(cars, main = "scatter plot of cars data by split.screen")
# 4λ² νλ©΄μ μ§μ
screen(4)
hist(cars$dist)
# 1λ² νλ©΄μ λ°νμμΌλ‘ μΉ ν¨(μ§μ)
erase.screen(n = 1)
# λ€μ 1λ² νλ©΄μ μ§μ
screen(1)
plot(cars, main = "scatter plot of cars data by split.screen", pch = 19, col = "blue")
# νλ©΄ λΆν μ μλ₯Ό λ§μΉ¨
close.screen(all = TRUE)
par(op)
split.screen() ν¨μλ fig μΈμλ‘ νλ©΄μ λΆν νλ€. μ΄ μΈμ κ°μ λ κ°μ μμλ₯Ό κ°λ μ μ 벑ν°λ₯Ό μ¬μ©νλλ°, μμ κ²μ΄ νμ λΆν κ°μμ΄κ³ λ€μ κ²μ΄ μ΄μ λΆν κ°μλ€. λν μ΄ ν¨μμμ screen μΈμλ λΆν νλ €λ νλ©΄μ λ²νΈλ₯Ό μ§μ νλ€.
κ·Έλν½ μ₯μΉμ νκ²½ λ³μλ μ μ λ³μλΌμ par() ν¨μλ‘ νκ²½μ€μ μ λ°κΎΈλ©΄ R μΈμ
μ΄ μ’
λ£λκΈ° μ κΉμ§ λ³κ²½λ μΈμμ κ°μ΄ νλ‘― μμ±μ μν₯μ λ―ΈμΉλ€. κ·Έλμ par() ν¨μκ° νΈμΆλκΈ° μ μ op <- par(no.readonly = TRUE) ꡬ문μΌλ‘ opμ κ·Έλν½ νκ²½ λ³μλ₯Ό μ μ₯νκ³ , par() ν¨μκ° νΈμΆλ ν 맨 λ§μ§λ§μ par(op)λ‘ μ μ₯λ νκ²½ λ³μλ€λ‘ νκ²½ λ³μλ₯Ό λλλ Έλ€.
fig μΈμλ κ·Έλν½ μ₯μΉμ μμμμ κ·Έλ¦Ό μμμ ν¬κΈ°μ μμΉλ₯Ό μ€μ νλ€. μΈμ κ°μ c(x1, x2, y1, y2) νμμΌλ‘ μ§μ νλ€. x1λ κ·Έλν½ μ₯μΉμ μμμμ κ·Έλ¦Ό μμμ΄ μ°¨μ§ν μ’μΈ‘ μμΉλ₯Ό x2λ μ°μΈ‘ μμΉλ₯Ό μ§μ νλ€. λν y1κ³Ό y2λ κ°κ° νλ¨κ³Ό μλ¨μ μμΉλ₯Ό μ§μ νλ€. μμΉλ₯Ό λνλ΄λ κ°μ μ΅μκ°μ 0μ΄κ³ μ΅λκ°μ 1μ΄λ€. λ°λΌμ κ·Έλν½ μ₯μΉμ μ 체 μμμ κ·Έλ¦Ό μμμΌλ‘ μ€μ νλ μΈμ κ°μ c(0, 1, 0, 1)μ΄λ©° μ΄ μΈμμ κΈ°λ³Έ κ°μ΄κΈ°λ νλ€.
op <- par(no.readonly = TRUE)
par(mfrow = c(2, 2))
par(fig = c(0, 1, 0.5, 1))
plot(cars, main = "scatter plot of cars data by fig")
par(fig = c(0, 0.5, 0, 0.5), new = T)
hist(cars$speed, main = "Histogram of car$speed by fig")
par(fig = c(0.5, 1, 0, 0.5), new = T)
hist(cars$dist, main = "Histogram of car$dist by fig")
par(op)
μ μ½λμμλ κ·Έλν½ μ₯μΉλ₯Ό μνλ‘ μ΄λ±λΆν μλ¨μ μ¬μ©νκΈ° μν΄ c(0, 1, 0.5, 1)λ‘ μ€μ νκ³ λ λ²μ§Έμ μΈ λ²μ§Έ νλ‘―μ κ°κ° c(0, 0.5, 0, 0.5), c(0.5, 1, 0, 0.5)λ‘ μ§μ νλ©΄μ μΌμͺ½ νλ¨κ³Ό μ€λ₯Έμͺ½ νλ¨μ λ°°μΉνλ€.
new μΈμλ λ€μλ²μ κ³ μμ€ κ·Έλν½ ν¨μκ° νΈμΆλ λ κ·Έλ¦Ό μμμ λ΄μ©μ μ΄κΈ°ννλ μ¬λΆλ₯Ό μ€μ νλ€. κΈ°λ³Έκ°μ FALSEλ‘ κ³ μμ€ κ·Έλν½ ν¨μκ° νΈμΆλ λ νμ¬μ κ·Έλ¦Ό μμμ μ΄κΈ°νλλ€. μΈμ κ°μ΄ TRUEλ©΄ λ€μλ² κ³ μμ€ κ·Έλν½ ν¨μκ° νΈμΆλ λμλ νμ¬ κ·Έλ¦Ό μμμ κ·Έλ €μ§ κ·Έλνλ μ΄κΈ°νλμ§ μλλ€. new μΈμλ λ κ° μ΄μμ κ³ μμ€ κ·Έλν½ ν¨μλ₯Ό ν κ·Έλ¦Ό μμμ μΆλ ₯ν λ μ£Όλ‘ μ¬μ©λλ€.
op <- par(no.readonly = TRUE)
par(nfrow = c(2, 2))
plot(1:10, type = "l", main = "plot")
par(new = F)
plot(10:1, type = "s", main = "plot by new = F")
plot(1:10, type = "l")
par(new = T)
plot(10:1, type = "s", main = "plot by new = T")
x <- rnorm(10)
plot(x)
par(new = T)
hist(x)
par(op)
bty(box type) μΈμλ νλ‘― μμμ λλ¬μΌ μμμ λͺ¨μμ μ€μ νλ€. κ·Έ λͺ¨μμ λ°λΌ "o", "l", "7", "c", "u", "]"μ μ ννλ€. μμμ λͺ¨μμ λ¬Έμμ λͺ¨μκ³Ό μ μ¬νκ² κ·Έλ €μ§λ©° κΈ°λ³Έκ°μ "o"μ΄λ€.
op <- par(no.readonly = TRUE)
par(mfrow = c(2, 3), bty = "l")
# Cλͺ¨μ (1, 2, 3 μμ)
plot(0:6, 0:6, bty = "c", main = " bty = \"c\" ")
# μΆλ ₯νμ§ μμ
plot(0:6, 0:6, bty = "n", main = " bty = \"n\" ")
# 0λͺ¨μ (1, 2, 3, 4 μμ)
plot(0:6, 0:6, bty = "o", main = " bty = \"o\" ")
# 7λͺ¨μ (3, 4 μμ)
plot(0:6, 0:6, bty = "7", main = " bty = \"7\" ")
# uλͺ¨μ (1, 2, 4 μμ)
plot(0:6, 0:6, bty = "u", main = " bty = \"u\" ")
# Lλͺ¨μ (1, 2 μμ)
plot(0:6, 0:6, main = " bty = \"l\" ")
par(op)
pty(plot type) μΈμλ νλ‘― μμμ ννλ₯Ό μ§μ νλ€. μΈμ κ°μΌλ‘λ "s"μ "m"dmf μ¬μ©ν μ μλ€. "s"λ νλ‘― μμμ xμΆκ³Ό yμΆμ λΉμ¨μ΄ λμΌνκ² μ€μ νκ³ , "m"μ μ΅λ ν¬κΈ°λ‘ νλ‘― μμμ μ€μ νλ€.
op <- par(no.readonly = TRUE)
theta <- seq(-pi, pi, length = 30)
x <- cos(theta)
y <- sin(theta)
par(mfrow = c(1,2), pty = "s", bty = "o")
plot(x, y, type = "l", main = "pty = \"s\"")
par(pty = "m")
plot(x, y, type = "l", main = "pty = \"m\"")
par(op)
μ κ·Έλ¦Όμ²λΌ "s"μΈμ κ°μ μ¬μ©ν νλ‘―μ μμ΄ κ·Έλ €μ§μ§λ§, "m"μΈμ κ°μ μ¬μ©ν νλ‘―μμλ νμμ΄ κ·Έλ €μ§λ€. λ°λΌμ xμΆκ³Ό yμΆμ μ€μΌμΌμ΄ λμΌν΄μΌ νλ νλ‘―μ 그릴 λλ "s" μΈμ κ°μ μ¬μ©ν΄μΌ νλ€.