1

latticeExtra:::c.trellis用于组合绘图时,右侧的刻度线和文本/数字标签会丢失,我想将它们带回来:

library(latticeExtra)

set.seed(1)
foo <- data.frame(x = 1:100, 
                  y = 1:100 + rnorm(100))
foo$resid <- with(foo, x-y)

## Plot 1 -----
(p1 <- xyplot(y~x, foo))

## Plot 2 -----
(p2 <- 
    xyplot(resid~x, foo, 
           scales = list(rot = 0, tck = c(1,1), alternating = 3),
           between = list(y = 1), ylab.right = "ylab.right", 
           # par.settings = list(axis.components = 
           #                       list(right = list(pad1 = 2, pad2 = 2)))
           # Note: this padding attempt does not restore the missing ticks,
           # pad arguments get ignored when using c.trellis below
           ))
# tick marks appear on all four sides (as desired)

## Combine -----
(p12 <- latticeExtra:::c.trellis(p2, p1,layout = c(1,2)))
# right tick marks are missing

有没有办法手动恢复右侧的刻度和/或标签,例如,通过修改组合trellis对象?

4

1 回答 1

0

从帮助文件?c.trellis

描述

将多个格子对象的面板组合成一个。

然后,

请注意,组合来自不同类型地块的面板并不真正适合格子模型。情节的某些功能可能无法按预期工作。特别是,可能需要一些工作来显示或隐藏选定面板上的比例。下面给出一个例子。

在我看来,您真的没有尝试将面板组合成一个对象。你甚至between用来把一些分离。相反,您正在尝试合并两个图。

你可以使用print

print(p1,split=c(1,1,1,2),more=TRUE)
print(p2,split=c(1,2,1,2),more=FALSE)

?print.trellis

于 2019-08-25T17:30:51.070 回答