1. ホーム
  2. r

[解決済み] ggplot2 で個々のファセットにテキストをアノテートする

2022-04-21 03:56:08

質問

以下のコードで、プロットの最後のファセットに何らかのテキストをアノテーションしたいのですが。

library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p <- p + facet_grid(. ~ cyl)
p <- p + annotate("text", label = "Test", size = 4, x = 15, y = 5)
print(p)

<イグ

しかし、このコードはすべてのファセットでテキストに注釈を付けます。どうすれば、1つのファセットだけにアノテーションされたテキストを得ることができるのでしょうか?

解決方法は?

一般的には次のようにします。

ann_text <- data.frame(mpg = 15,wt = 5,lab = "Text",
                       cyl = factor(8,levels = c("4","6","8")))
p + geom_text(data = ann_text,label = "Text")

factor 変数を完全に指定しなくても動作するはずですが、おそらくいくつかの警告を投げるでしょう。