2016-08-31 26 views
5

Renklerin kategoriyi temsil ettiği yığılmış bir çubuk grafikim var ve bunları alfa 2'ye ayırmak için alfa ayarlıyorum. Gösterge alfa (gri tonlarında) ve renkler. Bununla birlikte, kombinasyonları içeren bir efsane yapmak istiyorum.Bir lejantta alfa ve rengi nasıl birleştirebilirim

Onları birleştirmek için this question baktım ama alfa ve dolgu birleştiremiyorum.

mtcars %>% 
ggplot(aes(gear, mpg, fill = as.factor(vs), alpha = as.factor(am)))+ 
geom_bar(stat = "identity")+ 
scale_fill_manual(name = "legend", 
        values = c(
         "0" = "red", 
         "1" = "blue", 
         "0"="red", 
         "1"="blue" 
        ), 
        labels = c("V-engine, automatic", 
          "V-engine, manual", 
          "Straight-engine, automatic", 
          "Straight-engine, manual") 
       )+ 
scale_alpha_manual(name = "legend", 
        values = c(
         "0" = 1, 
         "1"=2/5, 
         "0"=1, 
         "1"=2/5 
         ), 
        labels = c(
         "V-engine, automatic", 
         "V-engine, manual", 
         "Straight-engine, automatic", 
         "Straight-engine, manual" 
         ) ) 

image

cevap

4

Ben senin soru aes(alpha) kullanarak ancak vs ve am kombinasyonu ile fill.colour olarak alpha davranmadığını yaklaştı: İşte çalışmıyor bir tekrarlanabilir bir rakamdır.

mtcars %>% 
    ggplot(aes(gear, mpg, fill = interaction(as.factor(vs), as.factor(am)))) + 
    geom_bar(stat = "identity") + 
    scale_fill_manual(name = "legend", 
         values = c(
          "0.0" = alpha("red", 1), 
          "1.0" = alpha("blue", 1), 
          "0.1" = alpha("red", 2/5), 
          "1.1" = alpha("blue", 2/5) 
         ), 
         labels = c("V-engine, automatic", 
           "V-engine, manual", 
           "Straight-engine, automatic", 
           "Straight-engine, manual") 
        ) 

enter image description here

+0

Bu ra eally harika bir fikir! Tekrar deneyeceğim ve rapor edeceğim! –

İlgili konular