9

おそらく単純な質問で申し訳ありません。私はプログラマーですが、グラフィックスを扱うことはめったにありません。この問題で何時間も髪を引き裂いた後、助けを求める時が来ました。ggplot を使用して r でマルチパネル プロットを作成していますが、ggplot を使用しているときに図の外側に図のラベルを表示する方法が見つかりません。

私のコードでやりたいことは次のとおりです。

par(mfrow = c(1, 2), pty = "s", las = 1, mgp = c(2, 0.4, 0), tcl = -0.3)
qqnorm(rnorm(100), main = "")
mtext("a", side = 3, line = 1, adj = 0, cex = 1.1)
qqnorm(rnorm(100), main = "")
mtext("b", side = 3, line = 1, adj = 0, cex = 1.1)

上記のコードで作成された図の場所にある「a」および「b」ラベルを、このタイプのコードにどのように取得しますか。

df = data.frame(gp = factor(rep(letters[1:3], each = 10)), y = rnorm(30))
p = ggplot(df) + geom_point(aes(x = gp, y = y))
p2 = ggplot(df) + geom_point(aes(x = y, y = gp))
grid.arrange(p, p2, ncol = 2)

よろしくお願いします。

4

2 に答える 2

16

ggtitleとを使用できますtheme

df = data.frame(gp = factor(rep(letters[1:3], each = 10)), y = rnorm(30))
p = ggplot(df) + geom_point(aes(x = gp, y = y)) + ggtitle('a') + theme(plot.title=element_text(hjust=0))
p2 = ggplot(df) + geom_point(aes(x = y, y = gp)) + ggtitle('b') + theme(plot.title=element_text(hjust=0))
grid.arrange(p, p2, ncol = 2)

ここに画像の説明を入力

于 2013-03-28T19:49:19.520 に答える
3

2 つの (理想的ではない) オプション:

#Use faceting, similar to Matthew's ggtitle option
df = data.frame(gp = factor(rep(letters[1:3], each = 10)), y = rnorm(30))
df$lab1 <- 'a'
df$lab2 <- 'b'
p = ggplot(df) + geom_point(aes(x = gp, y = y)) + facet_wrap(~lab1)
p2 = ggplot(df) + geom_point(aes(x = y, y = gp)) + facet_wrap(~lab2)
j <- theme(strip.text = element_text(hjust = 0.05))
grid.arrange(p + j, p2 + j, ncol = 2)


#Use grid.text
grid.text(letters[1:2],x = c(0.09,0.59),y = 0.99)

オプションについてはgrid.text、 ggplot オブジェクトを詳しく調べれば、これらの値を手動で正しく取得するためにいじる必要がなくなる可能性があります。

于 2013-03-28T19:50:50.087 に答える