Saya baru mengenal R dan mencoba memplot 3 histogram ke grafik yang sama. Semuanya bekerja dengan baik, tetapi masalah saya adalah Anda tidak melihat di mana 2 histogram tumpang tindih - mereka terlihat agak terpotong.
Saat saya membuat plot kepadatan, itu terlihat sempurna: setiap kurva dikelilingi oleh garis bingkai hitam, dan warna terlihat berbeda di tempat kurva tumpang tindih.
Bisakah seseorang memberi tahu saya jika sesuatu yang serupa dapat dicapai dengan histogram pada gambar pertama? Ini adalah kode yang saya gunakan:
lowf0 <-read.csv (....)
mediumf0 <-read.csv (....)
highf0 <-read.csv(....)
lowf0$utt<-'low f0'
mediumf0$utt<-'medium f0'
highf0$utt<-'high f0'
histogram<-rbind(lowf0,mediumf0,highf0)
ggplot(histogram, aes(f0, fill = utt)) + geom_histogram(alpha = 0.2)
Jawaban:
Kode Anda saat ini:
memberitahu
ggplot
untuk membangun satu histogram menggunakan semua nilai dif0
dan kemudian mewarnai batang histogram tunggal ini sesuai dengan variabelutt
.Yang Anda inginkan adalah membuat tiga histogram terpisah, dengan pencampuran alfa sehingga terlihat satu sama lain. Jadi Anda mungkin ingin menggunakan tiga panggilan terpisah ke
geom_histogram
, di mana masing-masing mendapatkan bingkai datanya sendiri dan mengisi:Berikut adalah contoh konkret dengan beberapa keluaran:
yang menghasilkan sesuatu seperti ini:
Diedit untuk memperbaiki kesalahan ketik; Anda menginginkan isi, bukan warna.
sumber
scale_fill_manual()
.Menggunakan data sampel @ joran,
perhatikan bahwa posisi default
geom_histogram
adalah "stack."lihat "penyesuaian posisi" halaman ini:
docs.ggplot2.org/current/geom_histogram.html
sumber
position = 'identity'
bukan hanya jawaban yang lebih mudah dibaca, tetapi juga lebih bagus dengan plot yang lebih rumit, seperti panggilan campuran keaes()
danaes_string()
.scale_fill_manual()
. Fungsi ini juga dapat digunakan untuk mengubah warna dalam histogram.fill
adalah faktor.Meskipun hanya beberapa baris yang diperlukan untuk memplot beberapa / histogram yang tumpang tindih di ggplot2, hasilnya tidak selalu memuaskan. Batas dan pewarnaan harus digunakan dengan benar untuk memastikan mata dapat membedakan histogram .
Fungsi berikut menyeimbangkan warna batas, kekeruhan, dan plot kepadatan yang dilapiskan untuk memungkinkan pengamat membedakan di antara distribusi .
Histogram tunggal :
Beberapa histogram :
Pemakaian :
Cukup berikan bingkai data Anda ke fungsi di atas bersama dengan argumen yang diinginkan:
The parameter tambahan di plot_multi_histogram adalah nama kolom yang berisi label kategori.
Kita dapat melihat ini secara lebih dramatis dengan membuat kerangka data dengan berbagai cara distribusi :
Meneruskan bingkai data seperti sebelumnya (dan grafik pelebaran menggunakan opsi):
sumber