@plannapus가 주석을 달았으므로, plot.modwt
함수는 이미 레이아웃을 호출합니다. 따라서 원래 기능을 변경해야합니다.
- R 콘솔에
plot.modwt
을 입력하면 완전한 정의를 얻을 수 있습니다.
- 이 기능을 복사하여 새로운 기능 (예 :
my.plot.modwt
)으로 저장하십시오.
- 이 함수의 레이아웃 행을 주석으로 처리하십시오.
새 레이아웃을 설정하십시오. 이것은 나를 위해 일한 : 레이아웃에 다른 변화가 아마 필요합니다,
my.plot.modwt(modwt(dat1))
my.plot.modwt(modwt(dat2))
my.plot.modwt(modwt(dat3))
my.plot.modwt(modwt(dat4))
참고 :
nf = layout(matrix(c(3, 1, 4, 2, 7, 5,8, 6), 4, 2, byrow = TRUE),
c(2,2), c(2,1, 2, 1), TRUE)
layout.show(nf)
는 플롯을 생성하는 함수 (4 회)를 호출합니다.
내 코드 :
y.plot.modwt = function (x, levels = NULL, draw.boundary = FALSE, type = "stack",
col.plot = "black", col.boundary = "red", X.xtick.at = NULL,
X.ytick.at = NULL, Stack.xtick.at = NULL, Stack.ytick.at = NULL,
X.xlab = "t", y.rlabs = TRUE, plot.X = TRUE, plot.W = TRUE,
plot.V = TRUE, ...)
{
stackplot.modwt <- function(x, w.range, v.range, col.plot,
col.boundary, draw.boundary, X.xtick.at, X.ytick.at,
Stack.xtick.at, Stack.ytick.at, X.xlab = "t", plot.X = TRUE) {
innerplot <- function(x, y, type = "l", xtick.at, ytick.at) {
if (is.null(xtick.at) == FALSE || is.null(ytick.at) ==
FALSE) {
plot(x, y, type = "l", axes = FALSE, frame.plot = TRUE)
<snip>
if (plot.X) {
#nf <- layout(matrix(c(2, 2, 1, 1), 2, 2, byrow = TRUE),
# c(1, 2), c(2, 1), TRUE)
par(mai = c(0.6, 0.4, 0.1, 0.6))
<snip>
}
특정 플롯을 가진 문제는이'임베디드 layout'에 이미 전화를 가지고 있으므로 어떤 시도가 덮어 쓸 것입니다. '... if (plot.X) { nf <- layout (matrix (c, 2, 1, 1), 2, 2, byrow = TRUE) 함수의 소스 코드를 보자. c (1, 2), c (2, 1), TRUE) ... ' – plannapus