4

私のマトリックスは0〜100の値で構成され、100 x 100のサイズです。基本的にこのマトリックスをプロットしたいのですが、50を超えるすべての値をたとえば赤で、下をたとえば青で色付けします。その上に、ここでggplotを使用して行うように、素敵なグレイッシュグリッドを追加したいと思います。

http://learnr.wordpress.com/2009/07/15/ggplot2-version-of-figures-in-lattice-multivariate-data-visualization-with-r-part-5/

それを達成するための最も簡単な方法は何ですか?これまで見てきたことからするとかなり複雑に見えるので、ggplotを試してみたいかどうかはわかりません。そのようなタスクのための他の簡単なプロット関数はありませんか?

4

3 に答える 3

6

ベースグラフィックスでは、次のようになります。

image(x, col=c("red","blue")[1+(x>50)] )

グリッドを追加するには、次を使用します。

grid(nx=100, ny=100, lty=1)
于 2012-08-23T03:02:14.200 に答える
4

データがマトリックス内にあり、ヒートマップタイプのプロットが必要かどうかは100%わかりません。または、他の形式で、リンク先のような散布図が必要な場合。データが説明どおりであり、ヒートマップが必要であると想定しました。私はそれが次のようなものだと思います:

   x=abs(rnorm(100*100,50,25))
    x=matrix(x,nrow=100)

したがって、次のようにxy座標のように見えるように、データの形状を変更します。

require(reshape2)
require(ggplot2)
x1=melt(x)
names(x1)=c("x","y","color")

次に、カットオフを要因にします。

x1$color=factor(x1$color>50)
levels(x1$color)=c("lessthan50","more than 50")

次に、次のコマンドでggplotを呼び出します。

qplot(x, y, fill=color, data=x1,geom='tile')

ここに画像の説明を入力してください

于 2012-08-22T22:24:00.570 に答える
0

あなたはlevelplotでそれを十分に簡単に行うことができます、

x <- abs(runif(100*100,0, 100))
x <- matrix(x,nrow=100)
levelplot(x, cuts=1, col.regions=c("red", "blue"))
于 2015-04-28T23:56:14.547 に答える