SORU
2 AĞUSTOS 2011, Salı


Ne kadar istikrarlı bir eşleme olduğunu ggplot2 kategorik değişkenler için renk atamak?

Geçen ay R hızla kalkıp oldum ve bu benim ilk yazı burada. Topluluğa katılmak için sabırsızlanıyorum. İşte benim sorum:

İstikrarlı bir eşleme olduğunu ggplot2 kategorik değişkenler için renk atamak için iyi bir yolu nedir? Farklı alt kümeleri ve kategorik değişkenler farklı sayıda olan grafikler bir dizi tutarlı renk lazım.

Örneğin,

plot1 <- ggplot(data, aes(xData, yData,color=categoricaldData))   geom_line()

categoricalData 5 seviyesi vardır.

Ve sonra

plot2 <- ggplot(data.subset, aes(xData.subset, yData.subset, 
                                 color=categoricaldData.subset))   geom_line()

categoricalData.subset 3 düzeyleri vardır.

Ancak, her iki takım içinde belirli bir seviye daha zor grafikler birlikte okunması farklı bir renk ile sona erecek.

Veri çerçeve renkleri bir vektör oluşturmak gerekiyor mu? Ya orada kategoriler için belirli renkleri atar başka bir yolu var mı?

Teşekkürler

CEVAP
2 AĞUSTOS 2011, Salı


OP kesin gibi basit durumlar için, Thierry cevabı en iyi olduğunu kabul ediyorsunuz. Ancak, birden fazla veri iletimi ile tutarlı bir renk düzeni korumaya çalışıyoruz yararlı daha kolay olur başka bir yaklaşımı işaret olduğunu düşünüyorumdeğiltek büyük veri bir çerçeve gömmeyi ile elde edilir. Bu faktörleri yönetme birden çok veri çerçevesi seviyeleri ise ayrı dosyalardan çektiği oldukları takdirde sıkıcı olabilir ve tüm faktör seviyeleri her bir dosya görünür.

Bu adres için bir yolu, aşağıdaki gibi özel manuel renk bir ölçek oluşturmaktır

#Some test data
dat <- data.frame(x=runif(10),y=runif(10),
        grp = rep(LETTERS[1:5],each = 2),stringsAsFactors = TRUE)

#Create a custom color scale
myColors <- brewer.pal(5,"Set1")
names(myColors) <- levels(dat$grp)
colScale <- scale_colour_manual(name = "grp",values = myColors)

ve sonra gerektiği gibi arsa üzerine renk skalası ekleyin:

#One plot with all the data
p <- ggplot(dat,aes(x,y,colour = grp))   geom_point()
p1 <- p   colScale

#A second plot with only four of the levels
p2 <- p % % droplevels(subset(dat[4:10,]))   colScale

İlk çizim bu gibi görünüyor:

enter image description here

ve ikinci arsa bu gibi görünüyor:

enter image description here

Bu şekilde uygun düzeyde olduğunu görmek için, her bir veri çerçevesi unutma kontrol etmenize gerek yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008