Платформа нейтральный вызов для нового сюжета - PullRequest
2 голосов
/ 29 января 2012

У меня есть функция, которая вызывает несколько окон (окно нового графического устройства). Чтобы это произошло, я использую 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)

Ответы [ 2 ]

7 голосов
/ 29 января 2012

Будет ли dev.new() покрывать ваши потребности?Он открывает графическое окно типа по умолчанию, установленного в сеансах консоли.

4 голосов
/ 29 января 2012

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...