Почему plot_grid открывает новое графическое устройство? - PullRequest
0 голосов
/ 05 июля 2019

Я хочу использовать Rscript для отображения графика.Когда пользователь закрывает график, код должен заканчиваться.Для этого я использую цикл while в конце.Моя проблема в том, что plot_grid открывает новое графическое устройство, а затем мой цикл while запутывается.В настоящее время я использовал взлом, чтобы закрыть устройство.

Для этого я использую: -

library(ggplot2)
library(cowplot)

p1 <- ggplot(diamonds, aes(carat))  +   geom_density()
p2 <- ggplot(diamonds, aes(carat))  +   geom_density()
print(dev.list())

p3 <- plot_grid(p1,p2)
# This is a hack
dev.off()
print(dev.list())
x11(width=13,height = 8.5)

print(dev.list())
print(p3)

print(dev.list())

while (!is.null(dev.list())) {
    Sys.sleep(1)
    print(100)
    print(dev.list())
}

print("Done")

Может кто-нибудь, пожалуйста, скажите мне, почему

p3<- plot_grid(p1,p2) 

открыть новое графическое устройство?

В качестве альтернативы, когда я делаю

library(ggplot2)
library(cowplot)

p1 <- ggplot(diamonds, aes(carat))  +   geom_density()
p2 <- ggplot(diamonds, aes(carat))  +   geom_density()

print(dev.list())
x11(width=13,height = 8.5)
plot_grid(p1,p2)

print(dev.list())

while (!is.null(dev.list())) {
    Sys.sleep(1)
    print(100)
    print(dev.list())
}

print("Done")

, вышеописанное также работает.

Я хотел бы понять, почему plot_grid открывает новое графическое изображениеустройство.

...