使用 par(mfrow=c(2,1)) 时,图表在创建时不显示
When using par(mfrow=c(2,1)) the graphs are not shown while being created
我正在使用 Rstudio,我无法保存绘图,同时在 window 或绘图窗格上创建它们时看到它们。如果我逐行运行:
par(mfrow = c(2, 2))
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
图表已创建并在绘图窗格中逐一显示,但是当我添加保存文件的选项时,当我逐行 运行 时,它们不会显示。文件保存正确,但为什么我看不到呢?
jpeg(file="results/whatever.jpeg")
par(mfrow = c(2, 2))
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
谢谢!
这里显示了我想看到的内容,只有当我跳过保存情节的那一行时才会发生:
通关后非常简单
首先关闭所有可能打开的设备。
graphics.off()
现在设备列表应该是空的。
dev.list()
# NULL
从这点来看,当我们使用 par
、plot
、hist
或任何与图形相关的功能时,都会打开一个设备。
par(mfrow=c(2, 2))
dev.list() ## check
# RStudioGD png
# 2 3
Voilá,如果您使用的是 RStudio RStudioGD
和 png
现在是开放设备!他们显示了他们的 ID。
不确定为什么 RStudio 打开两个设备(相反,例如 VScode 只打开一个 pdf
设备),但我们当前的设备是:
dev.cur()
# RStudioGD
# 2
现在我们通常在这个设备上精确绘图,可以认为是预览设备。
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
如果我们现在使用 dev.off()
,设备将关闭并且(预览)情节消失。
当我们使用 jpeg
、pdf
、png
和 postscript
等不同的设备时,情况会有所不同。这里我们需要关闭设备以便保存剧情
jpeg(file="whatever.jpeg") ## open device
dev.list() ## check
# jpeg
# 2
par(mfrow=c(2, 2))
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
dev.off() ## close device and save jpeg
注意:正如我所说,如果由于某种原因您最终打开了很多设备,您可以使用 graphics.off()
.
一次关闭它们
综上所述,要么使用预览设备,要么使用 jpeg 设备。所以你不能同时发生这两种情况。
我正在使用 Rstudio,我无法保存绘图,同时在 window 或绘图窗格上创建它们时看到它们。如果我逐行运行:
par(mfrow = c(2, 2))
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
图表已创建并在绘图窗格中逐一显示,但是当我添加保存文件的选项时,当我逐行 运行 时,它们不会显示。文件保存正确,但为什么我看不到呢?
jpeg(file="results/whatever.jpeg")
par(mfrow = c(2, 2))
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
谢谢!
这里显示了我想看到的内容,只有当我跳过保存情节的那一行时才会发生:
通关后非常简单
首先关闭所有可能打开的设备。
graphics.off()
现在设备列表应该是空的。
dev.list()
# NULL
从这点来看,当我们使用 par
、plot
、hist
或任何与图形相关的功能时,都会打开一个设备。
par(mfrow=c(2, 2))
dev.list() ## check
# RStudioGD png
# 2 3
Voilá,如果您使用的是 RStudio RStudioGD
和 png
现在是开放设备!他们显示了他们的 ID。
不确定为什么 RStudio 打开两个设备(相反,例如 VScode 只打开一个 pdf
设备),但我们当前的设备是:
dev.cur()
# RStudioGD
# 2
现在我们通常在这个设备上精确绘图,可以认为是预览设备。
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
如果我们现在使用 dev.off()
,设备将关闭并且(预览)情节消失。
当我们使用 jpeg
、pdf
、png
和 postscript
等不同的设备时,情况会有所不同。这里我们需要关闭设备以便保存剧情
jpeg(file="whatever.jpeg") ## open device
dev.list() ## check
# jpeg
# 2
par(mfrow=c(2, 2))
hist(cars$dist)
hist(cars$dist, breaks=10)
hist(cars$dist, main="1920's Vehicles", xlab="Stopping Distance")
dev.off() ## close device and save jpeg
注意:正如我所说,如果由于某种原因您最终打开了很多设备,您可以使用 graphics.off()
.
综上所述,要么使用预览设备,要么使用 jpeg 设备。所以你不能同时发生这两种情况。