Построение и сохранение R-графика

У меня есть сценарий bash, который отслеживает использование памяти во время выполнения команды. . Он порождает нужную команду, а затем записывает журнал со столбцом 1 = «память, используемая программой (гигабайты)», а столбец 2 — это прошедшее время в секундах. например

31.282 1470
31.565 1480
31.848 1490
31.989 1500
32.273 1510
32.414 1520
32.697 1530
32.980 1540
33.122 1550
33.405 1560
6.511 1570
6.935 1580
7.502 1590
7.926 1600
8.351 1610
8.775 1620
9.059 1630
9.483 1640
9.908 1650
10.333 1660

Что я хочу сделать, так это дождаться завершения процесса, а затем использовать R, чтобы построить график использования памяти во времени и сохранить его в текущем каталоге. Я игрался с R и точно знаю, какие команды мне нужно использовать:

> heisenberg <- read.csv(file="4644.log",head=FALSE,sep=" ")
> plot(heisenberg$V2,heisenberg$V1,type="o",col="red",main="Memory Usage Over Time",xlab="Time (seconds)",ylab="Memory (gigabytes)")
> text(max(heisenberg$V2),max(heisenberg$V1),max(heisenberg$V1)) #Displays max value

Но часть, на которой я застрял, — это сохранение графика в формате jpg или png. Или как я могу выполнить эту команду в своем скрипте bash. Мне абсолютно необходимо иметь еще один скрипт, написанный на языке R, и запускать его? Возможно ли это сделать все в одном?


Править

Вот код моего script.r
png("mem_usage_2965.png",height=800,width=800)
heisenberg <- read.csv(file="2965.log",head=FALSE,sep=" ")
plot(heisenberg$V2,heisenberg$V1,type="o",col="red",main="oases_k85",xlab="Time (seconds)",ylab="Memory (gigabytes)")
text(max(heisenberg),max(heisenberg),max(heisenberg))
dev.off()

Кто-нибудь может помочь, почему текст не печатает максимальное значение в выводимом png? Я вызываю его в сценарии bash, например R CMD BATCH script.r script.out

9
задан E.Cross 18 June 2012 в 16:15
поделиться