Saya telah menemukan ini, Cara meletakkan label di atas geom_bar di R dengan ggplot2 , tetapi itu hanya menempatkan label (angka) hanya di satu batang.
Ini, katakanlah, dua batang untuk setiap sumbu x, bagaimana melakukan hal yang sama?
Data dan kode saya terlihat seperti ini:
dat <- read.table(text = "sample Types Number
sample1 A 3641
sample2 A 3119
sample1 B 15815
sample2 B 12334
sample1 C 2706
sample2 C 3147", header=TRUE)
library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge') + geom_text(aes(label=Number))
Kemudian, kita akan mendapatkan:
Tampaknya teks nomor juga diposisikan dalam pola "menghindar". Saya telah mencari manual geom_text untuk menemukan beberapa informasi, tetapi tidak dapat membuatnya berfungsi.
Saran?
vjust = -0.5
setelahposition()
pernyataan sehingga nilainya ditempatkan tepat di atas batang.ymax
, jadiaes(x=Types, y=Number, fill=sample, ymax = 16000)
, akan menghasilkan area atas yang lebih luas untuk sumbu y, sehingga 15815 akan ditampilkan dengan lebih baik.geom_text(..., angle=-90)
Untuk menambah jawaban rcs, jika Anda ingin menggunakan position_dodge () dengan geom_bar () saat x adalah tanggal POSIX.ct, Anda harus mengalikan lebarnya dengan 86400, misalnya,
sumber