2017-06-14 10 views
5

Mam nadzieję, że ktoś może pomóc w tym problemie z wykreślaniem, który mam. Dane można znaleźć here.Jak zmieniać kolory linii i wstążek w facet_grid

Zasadniczo chcę wykreślić linię (średnią) i związany z nią przedział ufności (dolny, górny) dla 4 modeli, które przetestowałem. Chcę aspekt na zmiennej Cat_Auth, dla których istnieją 4 kategorie (więc 4 działki). Pierwszy "model" jest w rzeczywistości tylko średnią z przykładowych danych i nie chcę dla tego CI (wartości NA określone w danych - nie wiem, czy to jest właściwa rzecz).

mogę dostać działkę jakiś sposób tam:

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) 

Ale chciałbym różne kolorowe linie i zacienione taśmy do każdego modelu (np czerwoną linię i średnią czerwoną wstążkę zacienione dla modelu 2, zielone dla modelu 3 itp.). Ponadto nie mogę zrozumieć, dlaczego niebieska linia odpowiadająca pierwszemu zestawowi wartości średnich jest rozłączna, tak jak jest.

Byłbym bardzo wdzięczny za każdą pomoc!

Plot

+1

Będziemy chcieli, aby dodać kolumnę z danymi do czynienia z różnymi kolorami: https://stackoverflow.com/questions/19167944/ggplot2-use -różne kolory w różnych fasetach. Możesz także dostać się tam z wektorem kolorów. Nie mogę przetestować niczego na twoim przykładzie. –

+1

Nie można pobrać danych. Wymagaj hasła. –

+1

Prawdopodobnie potrzebujesz 'aes (color = Model, group = Model)' wewnątrz twojej 'geom_line', a Model powinien zostać przekonwertowany na czynnik pierwszy. – neilfws

Odpowiedz

2

Spróbuj tego:

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

Dziękuję. To działa całkiem dobrze - ale jak miałbym zmienić kolor wypełnienia wstążki? Dowiedziałem się, jak zmienić kolor linii, dodając: 'scale_color_manual (wartości = c (" czarny "," niebieski "," czerwony "," zielony "))' i chciałbym dopasować wstążka wypełni kolor do koloru linii. – LucaS

+1

Taki sam pomysł, z wyjątkiem użycia 'scale_fill_manual'. – neilfws

Powiązane problemy