Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you create a "nested" bar graph?

Tags:

graph

r

The last image in this blog post.

I have tried searching "nested bar graph" and "hierarchical bar graph", but they may not be the word for it.

like image 267
weis26 Avatar asked Nov 08 '11 07:11

weis26


2 Answers

Use ggplot and create separate layers:

library(ggplot2)

set.seed(1)
stupid <- data.frame(
    group= LETTERS[1:5],
    men = sample(1:10, 5),
    women = sample(1:10, 5) 
)

# Melt the data and calculate totals
mstupid <- melt(stupid, id.vars="group")
stupidTotal <- ddply(mstupid, .(group), summarize, value=sum(value))

ggplot() +
    geom_bar(data=stupidTotal, aes(x=group, y=value), fill="grey50") +
    geom_bar(data=mstupid, aes(x=group, y=value, fill=variable), 
             stat="identity", position="dodge") +
    theme_bw()

enter image description here

like image 183
Andrie Avatar answered Oct 12 '22 06:10

Andrie


Look for 'barNest' in package plotrix

like image 27
George Dontas Avatar answered Oct 12 '22 07:10

George Dontas