2012-01-04 17 views
9

Üzerinde fazladan veri bulunan bir çubuk çizim yapmaya çalışıyorum. Her veri noktası ile ilişkili olan, yüksekliğin neden ne olduğunu gösteren bir faktördür. Şimdiye kadar benim sonuçlardan oldukça mutluyum: example outputGöstergede daire çizmeden çubukların uçlarına puan almak için geom_point {ggplot2} nasıl kullanılır?

sorun Analiz efsanede bu anlamsız çevreler koyar olmasıdır:

library(ggplot2) 

tab <- read.table("http://www.cs.colorado.edu/~coxaj/table2.csv", 
      header=T, sep=",", strip.white=T) 
tab <- with(tab, tab[order(Analysis, -as.numeric(Analysis)), ]) 

bar_width <- 0.5 
space_width <- 0.8 

p <- ggplot(tab, aes(x=Filter,y=Depth,fill=Analysis)) + 
    geom_bar(position=position_dodge(width=space_width), width=bar_width) + 
    geom_point(position=position_dodge(width=space_width), aes(shape=Termination)) + 
    scale_shape_manual(values=c(1,4,5,6)) + 
    geom_hline(aes(yintercept=16, linetype=2)) + 
    scale_x_discrete(name='') + 
    scale_y_continuous(name='Search Depth') + 
    scale_fill_manual(values=c("#E66101", "#FDB863", "#B2ABD2", "#5E3C99")) + 
    theme_bw() 

ggsave(filename='table2.pdf', height=3, width=8) 

Bu şuna benzer bir arsa üretir. Bu çevreyi kaldırmak istiyorum ama efsaneyi saklıyorum. Ggplot2 bunu yapmama izin veriyor mu?

+0

. Bunu yapmak sorunu ortadan kaldırır, ancak bir başkasını tanıtır. Çubukların uçlarındaki noktalar, xaxis kategorileri içinde yarı-rasgele karıştırılmaktadır. –

cevap

18

bu deneyin: Tüm araziler uygulanacak bu dolgu = Analiz neden ggplot çağrısında aes gelen dolgu = Analizi çıkarmadan denedim

p <- ggplot(tab, aes(x=Filter,y=Depth)) + 
    geom_bar(aes(fill = Analysis), 
      position=position_dodge(width=space_width), width=bar_width) + 
    geom_point(position=position_dodge(width=space_width), 
      mapping = aes(group = Analysis, shape=Termination)) + 
... 

enter image description here

+0

Vay! Teşekkürler. Ne kolay bir düzeltme. –

İlgili konular