9

コマンドの実行時にメモリ使用量を経時的に追跡する bash スクリプトがあります。目的のコマンドを生成し、column1 = "memory in use by program (gigs)" でログを書き込みます。column2 は、これまでの経過時間 (秒単位) です。例えば

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

4

2 に答える 2

13

プロット呼び出しを次のようにラップします。

jpeg("myplot.jpg")
....plot code here....
dev.off()

また

png("myplot.png")
....plot code here....
dev.off()

?pngその他の引数の詳細については、それぞれのヘルプ ページを参照してください。

PNG の場合、これは次のようになります。

png("my_plot.png", height = 800, width = 600)
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
dev.off()

これを bash スクリプトで実行する場合は、R を呼び出して R コードを含むスクリプトを実行し、データをロードしてプロットを描画する必要があります。これにはいくつかのオプションがあり、そのうちの 2 つは次のとおりです。

R CMD BATCH --no-save --no-restore my_script.R

または使用Rscript

Rscript my_script.R

ここmy_script.Rで、プロットを生成するために必要な構文的に有効な R コードを含むテキスト ファイルです。

于 2012-06-13T17:33:29.190 に答える
2

シンプルなものばかり見ていませんか? http://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/png.html

基本的に、R に .png の保存を開始するように指示します。

png(file="blah.png")

次に使用します:

dev.off()

通常に戻ります。

于 2012-06-13T17:33:27.100 に答える