library(ggplot2)
data <-
data.frame(
group=factor(c("a","c","b","b","c","a")),
x=c("A","B","C", "D","E","F"),
y=c(3,2,10,11,4,5))
> data
group x y
1 a A 3
2 c B 2
3 b C 10
4 b D 11
5 c E 4
6 a F 5
#And plot this:
ggplot(data)+
geom_bar(aes(x=x, y=y, fill=group, order=group),
stat="identity",
position="dodge")+
coord_flip()
This gives a figure where x is plotted according to factor levels:
But how can one reorder x according to a custom order of the group
variable and at the same time arrange within group
according to say descending y
. For instance if I want to plot first "c" (red), then "a" (green) and then "b" (blue) groups, the plot order of the x-axis (x
variable) would be: E, B, F, A, D, C. Note this may have resemblance to this SO question.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…