(R) 循环和函数中的图是空的,即使它们在 plottet 独立时工作
(R) Graphs in a loop and funktion are empty, even though they work when plottet standalone
所以,我有一个箱线图,其中我在图上方的字母中注释了每个图的数据点数量和显着性水平。当在正常 (?!?) 工作流程中绘图时,他们需要大约 1-2 秒的时间在 X Window 系统图形 (X11) 中绘图,之后绘图会被保存。当 plot-command 包装在 for 循环中或由函数调用时,X11-window 保持为空并像那样保存。
这是一个使用 mtcars 的最小示例,展示了相同的问题。如果没有上下文,这个例子就没有意义。
library(ggplot2)
setwd("C:/")
output <- "C:/"
data <- mtcars
data$cyl <- as.factor(data$cyl)
#----normal plotting----
x11()
ggplot(data, aes(x = cyl, y = mpg))+
stat_boxplot(geom = "errorbar")+
geom_boxplot()
savePlot(paste0(output, "example_normal", ".tiff"), type = "tiff")
dev.off()
#----plotting throught a function----
my.plot <- function(x)
{
x11()
ggplot(x, aes(x = cyl, y = mpg))+
stat_boxplot(geom = "errorbar")+
geom_boxplot()
savePlot(paste0(output, "example_function", ".tiff"), type = "tiff")
dev.off()
}
my.plot(data)
干杯
我不得不 post 围绕它 print(ggplot(...))
以使其在 for-loop 中工作。
所以,我有一个箱线图,其中我在图上方的字母中注释了每个图的数据点数量和显着性水平。当在正常 (?!?) 工作流程中绘图时,他们需要大约 1-2 秒的时间在 X Window 系统图形 (X11) 中绘图,之后绘图会被保存。当 plot-command 包装在 for 循环中或由函数调用时,X11-window 保持为空并像那样保存。
这是一个使用 mtcars 的最小示例,展示了相同的问题。如果没有上下文,这个例子就没有意义。
library(ggplot2)
setwd("C:/")
output <- "C:/"
data <- mtcars
data$cyl <- as.factor(data$cyl)
#----normal plotting----
x11()
ggplot(data, aes(x = cyl, y = mpg))+
stat_boxplot(geom = "errorbar")+
geom_boxplot()
savePlot(paste0(output, "example_normal", ".tiff"), type = "tiff")
dev.off()
#----plotting throught a function----
my.plot <- function(x)
{
x11()
ggplot(x, aes(x = cyl, y = mpg))+
stat_boxplot(geom = "errorbar")+
geom_boxplot()
savePlot(paste0(output, "example_function", ".tiff"), type = "tiff")
dev.off()
}
my.plot(data)
干杯
我不得不 post 围绕它 print(ggplot(...))
以使其在 for-loop 中工作。