2017-06-14 23 views
5

Birisi, bu çizim sorununa yardımcı olabileceğini umuyorum. Veriler here bulunabilir.Bir facet_grid öğesinde çizgi ve şerit renkleri nasıl değiştirilir

Temel olarak, test ettiğim 4 model için bir çizgi (ortalama) ve ilişkili güven aralığı (alt, üst) çizmek istiyorum. Ben 4 kategori (yani 4 parseller) olduğu Cat_Auth değişkeni ile yüzleşmek istiyorum. İlk 'model' aslında örnek verilerinin sadece bir ortalamasıdır ve bunun için bir CI istemiyorum (verilerde belirtilen NA değerleri - bunun doğru bir şey olup olmadığından emin değil).

Orada bir yolu ile arsa alabilirsiniz:

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) 

Ama yeşil her model için farklı renkli çizgiler ve gölgeli kurdeleler (modele 2 için örneğin kırmızı ortalama hattı ve kırmızı gölgeli kurdele, istiyorum model 3 vb için). Ayrıca, ilk ortalama değerler kümesine karşılık gelen mavi çizginin neden olduğu gibi ayrıldığını anlayamıyorum.

Her türlü yardım için gerçekten minnettar olurum!

Plot

+1

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) 
: https://stackoverflow.com/questions/19167944/ggplot2-use -farklı-renkleri-in-farklı-yönleri. Orada da bir renk vektörüne sahip olabilirsiniz. Örneğinizde hiçbir şey test edemiyorum. –

+1

Veriler indirilemiyor. Şifre iste –

+1

Muhtemelen 'geom_line'nızda aes (color = Model, group = Model)' a ihtiyacınız var ve Model öncelikle bir faktöre dönüştürülmelidir. – neilfws

cevap

2

bu deneyin:

Farklı renklerde başa verilerinizdeki bir sütun eklemek isteyeceksiniz
+0

Teşekkür ederiz. Bu oldukça iyi çalışıyor - ama şeridin dolgu rengini nasıl değiştiririm? Çizgi rengini aşağıdaki gibi ekleyerek çalıştım: “scale_color_manual (değerler = c (" siyah "," mavi "," kırmızı "," yeşil ")) ve eşleştirmek istiyorum Şerit rengi çizgi rengine göre doldurur. – LucaS

+1

Aynı fikir, scale_fill_manual' kullanımı dışında. – neilfws

İlgili konular