2012-02-10 29 views
19

Tôi cần vẽ hai thanh lỗi trên mỗi điểm trong một phân tán. Thông thường là các thanh lỗi dọc tương ứng với lỗi trên giá trị điểm y, nhưng tôi cũng cần phải thêm thanh lỗi liên kết với trục X (ngang). Tôi có lẽ có thể làm điều này với một số lệnh abline, nhưng nghĩ rằng có thể có một cách thông minh hơn để làm điều đó với ggplot2?ggplot2: Thêm hai thanh thông báo vào mỗi điểm trong phân tán

+2

Tôi tin rằng có một 'geom_errorbarh' rằng mất 'x',' xmin' và 'xmax' tương tự với' geom_errorbar'. – joran

+0

http://permalink.gmane.org/gmane.comp.lang.r.ggplot2/3231 –

Trả lời

28

Chỉ vì hoàn của, theo dõi trên nhận xét của tôi, đây là một cách đơn giản (mặc dù xấu xí) ví dụ:

df <- data.frame(x = 1:10, 
       y = 1:10, 
       ymin = (1:10) - runif(10), 
       ymax = (1:10) + runif(10), 
       xmin = (1:10) - runif(10), 
       xmax = (1:10) + runif(10)) 

ggplot(data = df,aes(x = x,y = y)) + 
    geom_point() + 
    geom_errorbar(aes(ymin = ymin,ymax = ymax)) + 
    geom_errorbarh(aes(xmin = xmin,xmax = xmax)) 

enter image description here

+4

Cảm ơn rất nhiều vì đã trả lời! nó đã cho tôi một số thời gian để tái tạo kết quả của bạn với dữ liệu của riêng tôi như trong dữ liệu của tôi, các cột KHÔNG được đặt tên là "x" và "y", (dường như) có nghĩa là đối với geom_errorbar, bạn cần phải vượt qua tọa độ x, đó là: geom_errorbar (aes (x = var, ymin = ...)) và cho geom_errorbarh cả x và y, do đó: geom_errorbarh (aes (x = var1, y = var2, xmin = ...)). Chi tiết cuối cùng này của geom_errorbarh nằm ngang dường như không được ghi lại trong tệp trợ giúp, tôi phải suy ra điều đó từ thông báo lỗi mà tôi nhận được. –

+1

Xin lỗi, tôi thấy rằng bạn xác định x và y trong cuộc gọi đầu tiên tới ggplot, đó là những gì tôi nên làm. Cảm ơn một lần nữa. –

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