2011-05-10 18 views
19

Próbuję wytworzyć pręt z szerokościami pręta określonymi przez zmienną całkowitą (wielkość próbki). Dodanie "width = variableName" wydaje się nie działać. Czy istnieje ustalony sposób robienia tego? Oto kilka fałszywych danych i kodu. Chcę, aby szerokość pasków była funkcją zmiennej d w tym przykładzie.Zmienna szerokość prętów w ggplot2 barplot w R

dat <- data.frame(a=c("A", "B", "C"), b=c(0.71, 0.94, 0.85), d=c(32, 99, 18)) 

ggplot(dat, aes(x=a, y=b, fill=a)) + 
geom_bar(colour="black", size=.3) + 
theme_bw() 

Odpowiedz

28

Jak na temat korzystania width= po przeskalowaniu swoją d wektor, powiedzmy o stałą wartość?

ggplot(dat, aes(x=a, y=b, width=d/100)) + 
    geom_bar(aes(fill=a), stat="identity", position="identity") 

enter image description here

+0

@chi: to świetnie, dzięki. Próbowałem już tego podejścia, ale bez argumentów "stat" i "position" nie wpłynęło to na szerokość paska. – Steve

+0

Czy można dodać szerokość pasków w legendzie? – fstevens

+0

DZIĘKUJEMY! Brakowało mi argumentu o pozycji :) –