为什么ggplot没有在R中绘制多个窗口?

时间:2011-11-18 19:57:41

标签: r scope ggplot2

我遇到了一些我写的R函数的问题。我有2个绘图功能,我想写一个函数,为两个函数创建图。这个函数看起来像这个

 plotBoth = function(path = NULL){
     plotPopulationStats(path)
     plotInstructionFrequencies(path)
 }

然而,只有我调用第二个指令才会被绘制,而第一个指令只绘制一个空白窗口。以下是这些功能的简化版本。

 plotInstructionFrequencies = function(path = NULL){
   quartz()
   table <- read.table(path, header=TRUE);
   frame <- as.data.frame(table);
   frame$time = seq(1, length(table$noop));
   frame$mean = NULL
   frame$sd = NULL
   frame$variance = NULL
   Molten <- melt(frame, id.vars = "time");
   ggplot(Molten, aes(x = time, y = value, colour = variable)) + geom_line()
}

plotPopulationStats = function(path = NULL){
    quartz()
    table <- read.table(path, header=TRUE);
    frame <- as.data.frame(table);
    frame$time = seq(1, length(table$noop));
    frame$noop = NULL
    frame$plus = NULL
        ...
    frame$store = NULL
        Molten <- melt(frame, id.vars = "time");
    ggplot(Molten, aes(x = time, y = value, colour = variable)) + geom_line();
}

所有功能都在单独的文件中,但我希望将它们全部放在一个文件中。

单独调用时,两个函数都可以正常显示。

1 个答案:

答案 0 :(得分:3)

阅读常见问题7.22: http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f

你需要打印()你的ggplot或格子图。