ggplot multiple grouping bar
Solution 1
First, reshape your data from wide to long format.
library(reshape2)
df.long<-melt(df,id.vars=c("ID","Type","Annee"))
Next, as during importing data letter X is added to variable names starting with number, remove it with substring()
.
df.long$variable<-substring(df.long$variable,2)
Now use variable
as x, value
as y, Annee
for fill and geom_bar()
to get barplot. With facet_wrap()
you can split data by Type
.
ggplot(df.long,aes(variable,value,fill=as.factor(Annee)))+
geom_bar(position="dodge",stat="identity")+
facet_wrap(~Type,nrow=3)
Solution 2
Using @Didzis reshaped data , here a lattice version:
barchart(value~variable|Type,
groups=Annee,data=df.long,layout=c(3,3),
between=list(3,3),
axis=axis.grid,
auto.key=TRUE)
S12000
Updated on July 09, 2022Comments
-
S12000 almost 2 years
I would like to know how to get 9 grouping bar plot (3x3) togheter.
My CSV :
data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")
The 9 plots should be groupes according "Type" A to I.
Then each grouped bar plot should have the frequency on the y axis, the x axis is grouped by 1 pce to 6 pce and subdiveded by year.
I have the following example on Excel (cf. image) and would like to create the same result on r with ggplot. Is it possible?
Thanks
-
S12000 almost 11 yearsHello thanks is impressive but on my side I get an error message saying Error in layout_base(data, vars, drop = drop) : At least one layer must contain all variables used for facetting
-
Didzis Elferts almost 11 years@Swiss12000 Are you using the code exactly the same way as my code? If not please add the code you use in your question.
-
S12000 almost 11 yearsindeed I need a mistake is perfectely working thanks for your help. I have the R Graphics Cookbook to learn ggplot but they don't mention how to do more complex graph. Did you learn ggplot everyday a bit or did you read an advanced books?
-
Didzis Elferts almost 11 years@Swiss12000 I learned by doing and by reading and answering questions here on SO
-
GermanK about 9 yearsI found useful this documentation about melt: cookbook-r.com/Manipulating_data/…
-
Mostafa90 about 8 yearstidyr version please ?