2012-01-04 13 views
9

Tôi đang cố gắng tạo một cốt truyện có thêm dữ liệu trên đó. Liên kết với mỗi điểm dữ liệu là một giá trị từ một yếu tố cho biết tại sao chiều cao là giá trị của nó. Cho đến nay tôi là hợp lý hài lòng với kết quả của tôi:Làm thế nào để sử dụng geom_point {ggplot2} để có được điểm trên đầu của các thanh mà không nhận được các vòng tròn trong chú giải?

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) 

Điều này tạo ra một âm mưu đó trông như thế này: example output

Vấn đề là nó đặt những vòng tròn vô nghĩa trong chú giải cho phân tích. Tôi muốn loại bỏ vòng tròn đó, nhưng giữ huyền thoại. Ggplot2 có cho phép tôi làm điều này không?

+0

Tôi đã cố gắng loại bỏ các fill = Phân tích từ aes trong cuộc gọi ggplot gây rằng fill = Phân tích được áp dụng cho tất cả các thửa. Làm như vậy loại bỏ vấn đề nhưng giới thiệu một vấn đề khác. Các điểm ở các đầu của các thanh là bán ngẫu nhiên xáo trộn trong các loại xaxis. –

Trả lời

18

thử điều này:

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

Wow! Cảm ơn. Thật là một sửa chữa dễ dàng. –

Các vấn đề liên quan