tworzę własny zestaw danych, aby pokazać, jak to zrobić:
danych:
x <- runif(12,1,1.5)
y <- runif(12,1,1.5)
z <- runif(12,1,1.5)
m <- letters[1:12]
df <- data.frame(x,y,z,m)
Rozwiązanie:
#first of all you need to melt your data.frame
library(reshape2)
#when you melt essentially you create only one column with the value
#and one column with the variable i.e. your x,y,z
df <- melt(df, id.vars='m')
#ggplot it. x axis will be m, y will be the value and fill will be
#essentially your x,y,z
library(ggplot2)
ggplot(df, aes(x=m, y=value, fill=variable)) + geom_bar(stat='identity')
wyjściowa:
Jeśli chcesz bary jeden obok drugiego trzeba określić położenie dodge
na geom_bar
tj:
ggplot(df, aes(x=m, y=value, fill=variable)) +
geom_bar(stat='identity', position='dodge')
można zapewnić pewne odtwarzalne dane, aby pokazać, co chcesz osiągnąć? – cdeterman
Dołącz [przykład odtwarzalny] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) z przykładowymi danymi wejściowymi i pokaż dowolny napisany przez siebie kod daleko. – MrFlick
Niestety, nie został załadowany na początku, mam pewne problemy ze zdjęciami –