2

基本的にグリッドであるタイプのプロットを探しています。たとえば、10 列と 50 行になります。たとえば、次のようなものです。

ここに画像の説明を入力

各ボックス (この場合、10*50 = 500) には、データ フレームを介して提供する一意の値があります。一意の値に基づいて、各ボックスに色を割り当てる関数を作成します。そうすると、各ボックスの「範囲」を視覚化するためのグリッドになります。また、各列 (おそらくすべてのラベルが収まるように垂直方向) と行 (水平方向) にラベルを付ける必要があります。

それがどのようなプロットになるかはわかりませんし、これを行うライブラリがあるかどうかもわかりません。これを行うものを見つけるための助けを探しているだけです。可能であれば、助けていただければ幸いです。

4

4 に答える 4

4

imageグラフィックス パッケージのrasterImage関数を参照するか、さらに制御が必要な場合は関数を参照してください。

関数を使用してゼロからプロットを作成することもできrectます。

于 2013-08-14T19:38:34.240 に答える
4

ggplot2高度な柔軟性を可能にするので、私はこれに行きます。特にgeom_tile重宝します。theme(panel.grid.major = element_blank()) +実際にパネルの線が必要な場合は、線と 線をコメントアウトtheme(panel.grid.minor = element_blank()) +できます。もちろん、色も指定できます。各セルのテキストはオプションです。geom_text必要がない場合は、呼び出しをコメントアウトしてください。プロット ウィンドウのサイズを変更するだけで、プロットのサイズ (行と列) を制御できることに注意してください。ファイルに出力する場合は、引数とpng()を指定します。widthheight

library(ggplot2)
library(reshape)
library(scales)

set.seed(1234)
num.els <- 5
mydf <- data.frame(category1 = rep(LETTERS[1:num.els], 1, each = num.els),
                   category2 = rep(1:num.els, num.els),
                   value = runif(num.els^2, 0, 100))

p <- ggplot(mydf, aes(x = category1,
                      y = category2,
                      fill = value)) +
    geom_tile() +
    geom_text(label = round(mydf$value, 2), size = 4, colour = "black") +
    scale_fill_gradient2(low = "blue", high = "red",
                         limits = c(min(mydf$value), max(mydf$value)),
                         midpoint = median(mydf$value)) +
    scale_x_discrete(expand = c(0,0)) +
    scale_y_reverse() +
    theme(panel.grid.minor = element_blank()) +
    theme(panel.grid.major = element_blank()) +
    theme(axis.ticks = element_blank()) +
    theme(panel.background = element_rect(fill = "transparent"))+
    theme(legend.position = "none") +
    theme()

print(p)

出力:

スクリーンショット

そしてサイズ変更:

スクリーンショット

于 2013-08-15T07:43:02.793 に答える
2

グリッドの各セルごとに「 x」と「y 」の座標を持つデータフレームがあり、各セルに変数「z 」があり、このデータフレームを「 intlgrid」と呼ばれる R にロードしたとします。

head(intlgrid)

      x       y        z 

243.742 6783.367 0.0035285

244.242 6783.367 0.0037111

244.742 6783.367 0.0039073

"..."
"so on..."

ggplot2 パッケージを使用すると、ラスターを簡単にプロットできます。そう:

install.packages("ggplot2")

ggplot2 をインストールしたら、それを呼び出すだけです

library(ggplot2)

今コード:

ggplot(intlgrid, aes(x,y, fill = z)) + geom_raster() + coord_equal()

そして、グリッドをプロットします。

于 2013-08-14T17:59:43.967 に答える