1

ggplot を使用して等高線/画像プロットを作成しようとしていますが、今のところ成功していません。

z二変量法線の PDF を使用して行列を作成する R の次のコードを考えてみましょう。

require(mvtnorm)
x1 = seq(-3, 3, length.out=200)
x2 = seq(-3, 3, length.out=200)
z = matrix(0, length(x1), length(x2))
for (i in 1:length(x1)) {
    a = x1
    b = x2[i]
    z[,i] = dmvnorm(cbind(a,b))
}
image(x1,x2,z)

2D 通常の pdf 画像プロット

zggplot を使用して行列をプロットすることは可能ですか?

ありがとう!

4

1 に答える 1

3
# reshape the data
require(reshape2)
dat <- melt(z)

# use geom_raster to mimic image

gg <- ggplot(dat, aes(x=Var2, y=Var1, fill=value))
gg <- gg + labs(x="", y="")
gg <- gg + geom_raster()
gg <- gg + coord_equal()
gg <- gg + scale_fill_gradient(low="red", high="yellow")
gg <- gg + scale_x_continuous(expand = c(0, 0))
gg <- gg + scale_y_continuous(expand = c(0, 0))
gg <- gg + theme_bw()
gg

ここに画像の説明を入力

必要に応じて、軸ラベルを簡単に変更できます。

于 2014-09-29T19:04:13.797 に答える