Saya ingin membuat anotasi beberapa teks pada aspek terakhir plot dengan kode berikut:
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)
Tetapi kode ini membubuhi keterangan teks pada setiap sisi. Saya akan sangat menghargai jika Anda membimbing saya cara mendapatkan teks beranotasi hanya pada satu sisi.
r
ggplot2
facet
facet-wrap
facet-grid
MYaseen208
sumber
sumber
Jawaban:
Biasanya Anda akan melakukan sesuatu seperti ini:
Ini harus bekerja tanpa menentukan variabel faktor sepenuhnya, tetapi mungkin akan memberikan beberapa peringatan:
sumber
geom_text
dengan hanya satu baris.annotate()
...?Inilah plot tanpa anotasi teks:
Mari kita buat bingkai data tambahan untuk menahan anotasi teks:
Atau, kita dapat menentukan posisi masing-masing label secara manual:
Kami juga dapat memberi label plot di dua sisi:
Catatan:
-Inf
danInf
memposisikan teks di tepi panel.hjust
danvjust
untuk menyesuaikan pembenaran teks.dat_text
harus memiliki kolom yang berfungsi dengan Andafacet_grid()
ataufacet_wrap()
.sumber
colnames()
teks Andadata.frame
cocok dengan data yang akan Anda plot.Jika ada yang mencari cara mudah untuk memberi label aspek untuk laporan atau publikasi, paket
egg
( CRAN ) cukup bagustag_facet()
&tag_facet_outside()
fungsinya.Beri tag di dalam
Default
Catatan: jika Anda ingin menyimpan teks strip dan latar belakang, coba tambahkan
strip.text
danstrip.background
kembalitheme
atau hapustheme(strip.text = element_blank(), strip.background = element_blank())
daritag_facet()
fungsi aslinya .Sejajarkan kanan atas & gunakan angka Romawi
Sejajarkan kiri bawah & gunakan huruf kapital
Tentukan tag Anda sendiri
Tandai di luar
Sunting : menambahkan alternatif lain menggunakan paket stickylabeller
Dibuat oleh paket reprex (v0.2.1)
sumber
tag_facet
oleh nixingstrip.text = element_blank()
Warning: Ignoring unknown parameters: strip.text
Saya pikir jawaban di atas lab = "Teks" tidak berguna, kode di bawah ini juga ok.
Namun jika Anda ingin memberi label berbeda di berbagai sub-grafik, ini akan baik-baik saja dengan cara ini:
sumber
Memperluas sedikit jawaban joran yang sangat baik, untuk memperjelas cara kerja label dataframe.
Anda dapat menganggap "mpg" dan "wt" masing-masing sebagai koordinat x dan y (saya merasa lebih mudah untuk melacak nama variabel asli daripada mengganti nama mereka, seperti dalam jawaban Kamil yang juga sangat bagus). Anda memerlukan satu baris per label, dan kolom "cyl" menunjukkan sisi mana yang dikaitkan dengan setiap baris.
sumber
Saya tidak tahu tentang
egg
paket, jadi di sini adalahggplot2
solusi paket sederhanasumber