varsayılan renkleri eşit renk çarkında tonları aralıklı Buna here den nasıl üretildiğini kontrol edebilirsiniz
Siz bu renklerle scale_fill_manual
kullanabilirsiniz:..
p + scale_fill_manual(values=c("#F8766D", "#00BA38"))
Renkleri almak için cyl
numaralı telefondan ggplot_build(p)$data
'u kullandım.
Alternatif olarak, şöyle de bir başka palet kullanabilirsiniz:
p + scale_fill_brewer(palette="Set1")
Ve paletteki renkleri bulmak için yapabileceğiniz:
require(RColorBrewer)
brewer.pal(9, "Set1")
Kontrol paketi paletleri bilerek için ve ilgileniyorsanız diğer seçenekler.
Düzenleme: Zaten üstündeki bağlantısını işaret olarak user248237dfsf @, @Andrie bu fonksiyon renkler oluşturulan gösterir:
ggplotColours <- function(n=6, h=c(0, 360) +15){
if ((diff(h)%%360) < 1) h[2] <- h[2] - 360/n
hcl(h = (seq(h[1], h[2], length = n)), c = 100, l = 65)
}
> ggplotColours(2)
# [1] "#F8766D" "#00BFC4"
> ggplotColours(3)
# [1] "#F8766D" "#00BA38" "#619CFF"
oluşturulan iki renk bakarsak Birincisi aynı, ama n = 2 ve n = 3 olduğunda ikinci renk aynı değildir. Bunun nedeni, eşit aralıklı renk tonları oluşturmasıdır. vs
için cyl
için renkleri kullanmak istiyorsanız, scale_fill_manual
ayarını yapmanız ve bu işlevden n = 3 ile oluşturulan bu renkleri kullanmanız gerekir.
p1 <- ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot(aes(fill = factor(cyl)))
p2 <- ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot(aes(fill = factor(vs)))
Şimdi bunu yaparsanız:
ggplot_build(p1)$data[[1]]$fill
# [1] "#F8766D" "#00BA38" "#619CFF"
ggplot_build(p2)$data[[1]]$fill
# [1] "#F8766D" "#00BFC4" "#F8766D" "#00BFC4" "#F8766D"
Bu ggplotColours
kullanarak oluşturulan renkler görüyoruz
bu yaparsın neler gerçekten olduğunu doğrulamak için Farkın nedeni de açıktır. Umarım bu yardımcı olur.
Ama bir değişken için bir faktör olarak çizilen bu yüzden renklerin kümesi olsun açıklamaz ve farklı biri için renklerin başka bir set gibi olsun: Bu
geom_point()
için yararlıdır bağlı olduğum doküman sayfası. Renkler eşit aralıklı, bunu görebiliyorum, ama ikisi arasında neden farklı? İlk ikincisine benzemesini istiyorum. – user248237dfsfRenk tonu üzerindeki her renk arasındaki adımları manuel olarak ayarlayabilmek güzel olurdu. Böylece ardışık faktörler arasında daha büyük bir karşıtlık elde edebiliriz. 360'dan sonra sadece 0'dan devam etmelidir. – JohannesNE