8

1つのパネルに複数のプロットがある場合、複数のプロット領域にまたがる、またはプロット領域の間にあるテキスト注釈を配置できるようにしたいと思います。これを行う方法があるはずですが、その方法を理解するのに助けが必要です。
1つのパネルに4つのプロットを作成するための偽のデータを次に示します。

x1 = rnorm(100)
x2 = rnorm(100)
x3 = rnorm(100)
x4 = rnorm(100)

par(mfrow=c(2,2)) 
hist(x1, xlab="", main="Group A")
hist(x2, xlab="", main="Group B")
hist(x3, xlab="", main="")
hist(x4, xlab="", main="")

これにより、下にマルチプロットパネルが作成されます。ただし、赤のテキストも追加しました。Rでグラフパネルを作成し、PDFとして保存した、PDFファイルに注釈を付けて赤いテキストを追加しました。私が学びたいのは、グラフパネルを保存して保存したファイルに注釈を付けるのではなく、R内でプログラムでグラフパネルに注釈を付ける方法です。通常、または
を使用して注釈を追加します。ただし、これは、単一のグラフに注釈を付ける場合にのみ機能します。4つのグラフのパネル全体の座標に関連する注釈を追加する方法はありますか?私は今、ベースグラフィックスの解決策を探していますが、ggplot2やlatticeで同様のことを行う方法を誰かが知っているなら、それも見てみたいと思います。 text()mtext()ここに画像の説明を入力してください

4

4 に答える 4

11

これらの種類のレイアウトの問題を本当に細かく制御したい場合は、適切な名前のを使用できますlayout

m <- matrix(c(1,2,3,3,4,5,6,6),ncol = 2,byrow = TRUE)
layout(m,widths = c(0.5,0.5),heights = c(0.45,0.05,0.45,0.05))

par(mar = c(2,4,4,2) + 0.1)
hist(x1, xlab="", main="Group A")
hist(x2, xlab="", main="Group B")

par(mar = c(0,0,0,0)) 
plot(1,1,type = "n",frame.plot = FALSE,axes = FALSE)
u <- par("usr")
text(1,u[4],labels = "Here",col = "red",pos = 1)

par(mar = c(2,4,2,2) + 0.1)
hist(x3, xlab="", main="")
hist(x4, xlab="", main="")

par(mar = c(0,0,0,0)) 
plot(1,1,type = "n",frame.plot = FALSE,axes = FALSE)
u <- par("usr")
text(1,u[4],labels = "Here",col = "red",pos = 1)

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

于 2012-06-25T23:49:20.253 に答える
7

mtextと一緒に使いたいouter=TRUE。たとえば、mtext('Results2', side=1, line=-2, outer=TRUE)mtext('Results1', side=3, line=-20, outer=TRUE).

于 2012-06-25T23:35:41.687 に答える
4

この例では、layout関数は既に示したように最も単純ですが、より一般的なケースでは、grconvertXおよびgrconvertY関数も学習する必要があります ( を使用してクリッピングを設定するとともに、par(xpd=変換関数は、さまざまな座標系の現在のユーザー座標での座標を提供できます。たとえば、正規化されたデバイス座標から 0.5 を変換することで、ページの中央に何かを配置できます。

于 2012-06-27T17:21:49.753 に答える