Przechodzę przez przykłady podane na stronie this, ale z jakiegoś powodu nie można znaleźć odpowiedniego sposobu na to.Jak wykreślić stos słupkowy z ggplot?
mam pewne dane tak:
Group Member Percentage
[1,] "1" "A" "60"
[2,] "1" "A" "20"
[3,] "1" "A" "20"
[4,] "1" "B" "80"
[5,] "1" "B" "5"
[6,] "1" "B" "5"
[7,] "1" "B" "5"
[8,] "2" "C" "50"
[9,] "2" "C" "50"
[10,] "2" "D" "25"
[11,] "2" "D" "25"
[12,] "2" "D" "25"
[13,] "2" "D" "20"
[14,] "2" "D" "5"
i mogą być tworzone za pomocą następujących poleceń:
a = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2)
b = c("A","A","A","B","B","B","B","C","C","D","D","D","D","D")
c = c(60,20,20,80,5,5,5,50,50,25,25,25,20,5)
dat = data.frame(Group=a, Member=b, Percentage=c)
ggplot(dat, aes(x=Member, y=Percentage)) + geom_bar(stat="identity", position="dodge", fill="white", colour="black")
Ostatni wiersz daje mi następujące działki:
Tym, czego naprawdę szukam, jest połączenie każdego z pręty w jednej grupie do jednego paska i reprezentują wartości procentowe jako ułamek tego samego pręta (gdzie każdy element z każdej grupy jest wykreślany z jednym taktem, przy czym każdy słupek ma wartości procentowe jako ich kolory). Użyłem więc następujące:
ggplot(dat, aes(x=Member, y=Percentage)) + geom_bar(stat="identity", colour="white")
i uzyskane w ten sposób:
Ale teraz nie mogę dostać odpowiednio kolory. Chcę czegoś dokładnie takiego, jak podano poniżej, ale nie jestem w stanie zrozumieć, jak to zrobić. Wszelkie sugestie, jak to zrobić?
http://had.co.nz/ggplot2/position_stack.html –
@ GSK3: Właśnie udało się zrobić to po pewnym eksperymenty choć nie używałem 'position =" stack "'. Zastanawiam się jaka jest różnica. To, co byłoby dobre, to ograniczyć ggplot do używania ograniczonych kolorów zamiast używać jednego dla każdego nowego znalezionego procentu. – Legend