0

を使用して作成した画像にいくつかのポイントを追加したいと思いimage.plotます。これが必要なライブラリを含む私のコードです。.jpg を作業ディレクトリに配置します。問題は、ポイントが画像に表示されないことです。何が欠けているかわからないアイデアはありますか?ポイントが追加される前にデバイスが閉じている可能性はありますか? 一般的なデータは以下に含まれています。

install.packages("RColorBrewer")
install.packages("fields")
library("RColorBrewer", lib.loc="...../R-2.15.2/library")
library("fields", lib.loc="...../R-2.15.2/library")

jpeg(paste("Steamflow", "timestep", ".jpg",sep = ''), width = 640,
     height = 441,quality = 75)
image.plot(streamflux, zlim=c(-1,1), col=brewer.pal(11, "RdBu"),  
 yaxt="n", xaxt="n", main=paste("Stress Period ", "timestep", sep = ""))
points(WLX,WLY)
dev.off()

そして、ここにデータセットWLX、WLY、およびstreamfluxがあります

WLY=c(9, 6, 9, 13, 17, 20, 22)
WLX=c(8, 19, 29, 20, 13, 20, 21)
streamflux=matrix(1:1452,44,33, byrow=FALSE)
4

1 に答える 1

0

前に投稿したコードは機能しますが、データを正しく構成しませんでした。コードを実行するために必要なライブラリは、元の質問に追加されています。私は使用image.plotしましたが、 base を使用しても同じ問題が発生すると思いますimage。z 値の行列のみを指定すると、画像は軸 c(0,1) でプロットされます。各セルに x、y、z を指定すると、ポイントが範囲外にプロットされていた問題に遭遇することはないと思います。私が行ったように、z 値の行列を指定する方が x、y、z を指定するよりも簡単であると判断した場合は、ポイントが範囲外にプロットされないようにするために、ポイント データをスケーリングする必要があります。私の場合WLX=WLX/44WLY=WLY/33. 補足として、等間隔のデータを使用していない場合は、おそらく x、y、z を指定することをお勧めします。

于 2013-11-12T01:49:02.080 に答える