0

イメージ プロットを生成するコードのサンプルを次に示します。しかし、何らかの理由で、再実行すると、新しい画像は作成されませんが、既存のプロットがオーバーレイされます。ただし、既存のプロットに追加する必要があることを指定する特定のパラメーター 'add' があるため、新しい画像を作成することを期待しています (ただし、デフォルト値は FALSE です)。

ここで何が起こっているか知っている人はいますか?

require(fields)

mat <- matrix(runif(5*5), ncol=5) 

mat[1,3] <- NA

image.plot(seq(1,5,1),seq(1,5,1), mat, col = tim.colors(64), legend.only=TRUE)
par(oma=c(0,0,0,6))
par(new = TRUE)
image(seq(1,5,1),seq(1,5,1),matrix(1,5,5), col = gray(0.8), xlab = "", ylab = "", axes = F)
par(new = TRUE)
image(seq(1,5,1),seq(1,5,1),mat, xlab="Hour of the Day", ylab = "Day of the Week", col = tim.colors(64), axes = F)
par(oma=c(0,0,0,0))

EDIT デバイスなどについてはあまり知りませんが、たとえば最初に実行すると、Figureウィンドウがクリアされ、最初のプロットに追加されずに2番目のプロットが表示されることを知っています(RStudioで作業していますplot(1:10)) plot(10:1)。 (RStudio ではもちろん、以前の図を参照できる追加機能がありますが、単純な R コンソールで同じことを行うと、2 番目のプロットが呼び出されたときにプロット ウィンドウがクリアされます)。そして、それが私が望んでいることです。前回 image.plot を呼び出したときの画像をオーバーレイするのではなく、image.plot を 2 回目に呼び出すと、Figure ウィンドウがクリアされることを期待しています。

4

2 に答える 2

0

コマンドで設定すれば自動で設定さlegend.only=Tれると思います。最初に画像をプロットしてから凡例を追加すると、機能します。ここでは、1 つを残す必要があります。image.plotpar(new=TRUE)par(new=TRUE)

require(fields)

mat <- matrix(runif(5*5), ncol=5) 

mat[1,3] <- NA

par(oma=c(0,0,0,6))
#par(new = TRUE)
image(seq(1,5,1),seq(1,5,1),matrix(1,5,5), col = gray(0.8), xlab = "", ylab = "", axes = F)
par(new = TRUE)
image(seq(1,5,1),seq(1,5,1),mat, xlab="Hour of the Day", ylab = "Day of the Week", col = tim.colors(64), axes = F)
par(oma=c(0,0,0,0))
image.plot(seq(1,5,1),seq(1,5,1), mat, col = tim.colors(64), legend.only=TRUE)
于 2014-06-02T12:08:55.747 に答える