Menambahkan Label pada Plot dengan ggplot2 dan ggrepel

Menambahkan Label pada Plot dengan ggplot2 dan ggrepel

Dalam analisis data, seringkali kita perlu menambahkan label atau teks untuk menjelaskan nilai-nilai yang ditampilkan dalam plot. Dalam artikel ini, kita akan belajar cara menggunakan ggplot2 dan ggrepel untuk menambahkan label pada plot.

Menambahkan Label dengan geom_text

Cara pertama untuk menambahkan label adalah dengan menggunakan fungsi geom_text() dari paket ggplot2. Contohnya, kita dapat menambahkan label yang menunjukkan nilai-nilai x dan y pada scatter plot sebagai berikut:

sp2 + geom_text(aes(x=wt, y=mpg, label=row.names(df)), size=3.5)

Dalam contoh di atas, label akan ditampilkan dengan ukuran 3.5 point.

Menambahkan Label dengan ggrepel

Paket ggrepel menawarkan cara lain untuk menambahkan label yang dapat menghindari overlaping antara label-label. Contohnya, kita dapat menggunakan fungsi geom_text_repel() sebagai berikut:

require("ggrepel")
set.seed(42)
p + geom_text_repel(aes(x=wt, y=mpg), size=3.5) 

Dalam contoh di atas, label akan ditampilkan dengan ukuran 3.5 point dan dapat menghindari overlaping.

Menambahkan Label dengan Annotate

Kita juga dapat menambahkan label yang static dengan menggunakan fungsi annotate() dari paket ggplot2. Contohnya, kita dapat menambahkan label "Scatter plot" pada posisi x=3 dan y=30 sebagai berikut:

sp2 + annotate(geom="text", x=3, y=30, label="Scatter plot",
 color="red")

Dalam contoh di atas, label akan ditampilkan dengan warna merah.

Menambahkan Label dengan Facet

Jika kita memiliki plot yang berisi beberapa faceted, kita dapat menambahkan label yang sama untuk setiap faceted dengan menggunakan fungsi facet_wrap() dan annotation_custom(). Contohnya, kita dapat menambahkan label "Scatter plot" pada posisi x=3 dan y=30 untuk setiap faceted sebagai berikut:

sp2 + annotation_custom(grob) + facet_wrap(~cyl, scales="free")

Dalam contoh di atas, label akan ditampilkan dengan warna merah dan dapat menghindari overlaping.

Menambahkan Label pada Volcano Plot

Sebagai contoh lain, kita dapat menambahkan label pada volcano plot yang menunjukkan hasil uji hipotesis sebagai berikut:

ggplot(genes, aes(x = log2FoldChange, y = -log10(pvalue))) +
 geom_point(aes(color = Significant)) +
 scale_color_manual(values = c("red", "grey")) +
 theme_bw(base_size = 12) + theme(legend.position = "bottom") +
 geom_text_repel(
 data = subset(genes, padj < 0.05),
 aes(label = Gene),
 size = 5,
 box.padding = unit(0.35, "lines"),
 point.padding = unit(0.3, "lines")
 )

Dalam contoh di atas, label akan ditampilkan dengan ukuran 5 point dan dapat menghindari overlaping.

Dengan demikian, kita telah belajar cara menambahkan label pada plot dengan menggunakan ggplot2 dan ggrepel. Semoga artikel ini bermanfaat bagi Anda!