Bagaimana saya bisa 'menghindari' posisi geom_point di ggplot2?


19

Saya menggunakan ggplot2 di R untuk membuat plot seperti yang berikut:

masukkan deskripsi gambar di sini

Errorbars saling tumpang tindih yang terlihat sangat berantakan. Bagaimana saya bisa memisahkan errorbars untuk indeks yang berbeda? Saya telah menggunakan posisi = "menghindar" tetapi tampaknya tidak berfungsi. Inilah bagian utama dari kode saya:

plot =  ggplot(data,aes(x=ntrunc,y=beta_best,group=ntrunc,colour=INDEX))
       +geom_point(aes(shape=detectable),na.rm=TRUE,position="dodge") 
        +geom_errorbar(aes(x=ntrunc,ymax=beta_high,ymin=beta_low),na.rm=TRUE,position="dodge")

1
Sudahkah Anda mencoba nilai "menghindar" yang berbeda? Misalnya sesuatu seperti itu: position = position_dodge(width = 0.90). Lihat juga posting ini .
COOLSerdash

Terima kasih atas contoh Anda. Namun, saya baru saja mencoba nilai lebar yang berbeda dan tetap tidak berfungsi.
ycc

2
Sulit untuk menghasilkan solusi tanpa dataset asli. Tapi satu pertanyaan yang saya miliki: Mengapa nilai dan "grup" Anda sama? Apa ? Tidak seharusnya ? xntruncgroupINDEX
COOLSerdash

Ini berfungsi sekarang setelah saya mengubah group = "INDEX". Saya pikir saya telah salah mengerti arti 'kelompok'. Terima kasih @COOLSerdash
ycc

Jawaban:


12

The kelompok harus = INDEX bukan ntrunc di aes.

plot =  ggplot(data, aes(x=ntrunc, y=beta_best, group=INDEX, colour=INDEX)) +
   geom_point(aes(shape=detectable), na.rm=TRUE, position="dodge") +
   geom_errorbar(aes(x=ntrunc, ymax=beta_high, ymin=beta_low), na.rm=TRUE, position="dodge")

Plotnya terlihat lebih baik sekarang.

masukkan deskripsi gambar di sini


7
Ini tidak bekerja untuk saya sampai saya menggunakangeom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
Nova

Akan sangat bagus untuk mendapatkan contoh data di sini karena saya tidak dapat mereproduksi hasil Anda.
Léo Léopold Hertz 준영

1
@ Nova dugaan saya adalah jawabannya rusak ketika ggplot2beralih dari versi 0.9.Xke 1.Xatau2.X
Richard Erickson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.