0

是否有一种独立于平台的方式来排列用于屏幕输出的晶格图?

我的方法涉及使用:

trellis.device(device="windows")
print(chart.hist, split = c(1,1,1,2), more = TRUE)
print(chart.cdf, split = c(1,2,1,2))

在我的 Mac 上,我需要trellis.device(device="x11",...),在我工作的 Windows 机器上,我需要trellis.device(device="windows",...)

一个例子:

set.seed(1)
x <- rnorm(100, 0, 1)

discrete.cdf <- function(x, decreasing=FALSE){
    x <- x[order(x,decreasing=FALSE)]
    result <- data.frame(rank=1:length(x),x=x)
    result$cdf <- result$rank/nrow(result)
    return(result)
}

my.df <- discrete.cdf(x)

chart.hist <- histogram(~x, data=my.df,
                        xlab="")
chart.cdf <- xyplot(100*cdf~x, data=my.df, type="s",
                    ylab="Cumulative Percent of Total")

graphics.off()
trellis.device(device = "windows", width = 6, height = 6)
print(chart.hist, split = c(1,1,1,2), more = TRUE)
print(chart.cdf, split = c(1,2,1,2))
4

1 回答 1

2

只需省略该trellis.device()功能的“设备”选项即可。它将采用特定于平台的默认值(至少它在 Linux 上的工作方式与此处类似,“x11”是默认设备)。

于 2012-11-13T22:16:51.813 回答