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!