2017-06-14 19 views
5

Tôi hy vọng ai đó có thể trợ giúp với vấn đề âm mưu này mà tôi có. Các dữ liệu có thể được tìm thấy here.Làm cách nào để thay đổi màu sắc của đường kẻ và dải ruy băng trong một facet_grid

Về cơ bản, tôi muốn vẽ một dòng (có nghĩa) và khoảng tin cậy liên quan (thấp hơn, trên) cho 4 mô hình tôi đã thử nghiệm. Tôi muốn khía cạnh về biến Cat_Auth, trong đó có 4 danh mục (4 ô). 'Mô hình' đầu tiên thực sự chỉ là trung bình của dữ liệu mẫu và tôi không muốn một CI cho điều này (các giá trị NA được chỉ định trong dữ liệu - không chắc chắn nếu điều này là chính xác để làm).

Tôi có thể lấy cốt truyện một cách nào đó có với:

newdata <- read.csv("data.csv", header=T) 
ggplot(newdata, aes(x = Affil_Max, y = Mean)) + 
    geom_line(data = newdata, aes(), colour = "blue") + 
    geom_ribbon(data = newdata, alpha = .5, aes(ymin = Lower, ymax = Upper, group = Model, fill = Model)) + 
    facet_grid(.~ Cat_Auth) 

Nhưng tôi muốn dòng khác nhau màu và băng che cho mỗi mô hình (ví dụ như một dòng bình màu đỏ và màu đỏ bóng mờ ribbon cho mô hình 2, màu xanh lá cây cho mô hình 3 vv). Ngoài ra, tôi không thể tìm ra lý do tại sao đường màu xanh dương tương ứng với tập hợp giá trị trung bình đầu tiên bị tách rời.

Sẽ thực sự biết ơn vì bất kỳ trợ giúp nào!

Plot

+1

Bạn sẽ muốn thêm một cột trong dữ liệu của bạn để đối phó với các màu sắc khác nhau: https://stackoverflow.com/questions/19167944/ggplot2-use các mặt màu khác nhau. Bạn cũng có thể đến đó với một vectơ màu sắc. Tôi không thể kiểm tra bất cứ điều gì trên ví dụ của bạn. –

+1

Không thể tải xuống dữ liệu. Yêu cầu mật khẩu. –

+1

Bạn có thể chỉ cần 'aes (color = Model, group = Model)' bên trong 'geom_line' của bạn, và Model nên được chuyển đổi thành một yếu tố đầu tiên. – neilfws

Trả lời

2

Hãy thử điều này:

library(dplyr) 
library(ggplot2) 

newdata %>% 
    mutate(Model = as.factor(Model)) %>% 
    ggplot(aes(Affil_Max, Mean)) + 
    geom_line(aes(color = Model, group = Model)) + 
    geom_ribbon(alpha = .5, aes(ymin = Lower, ymax = Upper, 
           group = Model, fill = Model)) + 
    facet_grid(. ~ Cat_Auth) 
+0

Cảm ơn bạn. Điều đó hoạt động khá tốt - nhưng làm thế nào tôi có thể thay đổi màu tô của ribbon? Tôi đã tìm hiểu cách thay đổi màu của đường bằng cách thêm: 'scale_color_manual (giá trị = c (" đen "," xanh dương "," đỏ "," xanh lục "))' và tôi muốn khớp màu tô ribbon thành màu đường kẻ. – LucaS

+1

Ý tưởng tương tự, ngoại trừ sử dụng 'scale_fill_manual'. – neilfws

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