我有一个调用多个窗口的功能(新的图形设备窗口)。为了实现这一点,我使用windows()。这是有效的,但是因为这是一个包,我如何使它平台中立,所以每个绘图在新窗口中绘制,同时离开旧窗口?
我目前拥有的内容:
WORD.C <- function(WORDS){
require(wordcloud)
L2 <- lapply(WORDS, function(x) as.data.frame(table(x), stringsAsFactors = FALSE))
FUN <- function(X){
windows() #how to make this platform neutral
wordcloud(X[, 1], X[, 2], min.freq=1)
}
lapply(L2, FUN)
}
WORD.C(list.xy)
答案 0 :(得分:7)
dev.new()
会满足您的需求吗?它会打开一个在控制台会话中设置的默认类型的图形窗口。
答案 1 :(得分:4)
Mac通常会打开一个X11窗口,因此这可能是一个最小的解决方案:
if( .Platform$OS.type =="unix" ) { X11() } else { windows() }
如果要在GUI类型上进行分支,则可以使用:
if( .Platform$GUI %in% ("X11", "Tk") ) { X11() } else {
if ( .Platform$GUI == "AQUA" ){ quartz()} else {
windows() } }
# For more details
?.Platform
?Devices