Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- activity yes no dontknow
- Social events 27 3 3
- Academic skills workshops 23 5 8
- Summer research 22 7 7
- Research fellowship 20 6 9
- Travel grants 18 8 7
- Resume preparation 17 4 12
- RAs 14 11 8
- Faculty preparation 13 8 11
- Job interview skills 11 9 12
- Preparation of manuscripts 10 8 14
- Courses in other campuses 5 11 15
- Teaching fellowships 4 14 16
- TAs 3 15 15
- Access to labs in other campuses 3 11 18
- Interdisciplinary research 2 11 18
- Interdepartamental projects 1 12 19
- melted.data(wide.data,id.vars=c("activity"),measure.vars=c("yes","no","dontknow"),variable.name="haveused",value.name="responses")
- ggplot(melted.data,aes(x=activity,y=responses))+geom_bar(aes(fill=haveused))
- # Load required packages
- library(ggplot2)
- library(reshape2)
- # Read in data
- df = read.table(text = "
- activity yes no dontknow
- Social.events 27 3 3
- Academic.skills.workshops 23 5 8
- Summer.research 22 7 7
- Research.fellowship 20 6 9
- Travel.grants 18 8 7
- Resume.preparation 17 4 12
- RAs 14 11 8
- Faculty.preparation 13 8 11
- Job.interview.skills 11 9 12
- Preparation.of.manuscripts 10 8 14
- Courses.in.other.campuses 5 11 15
- Teaching.fellowships 4 14 16
- TAs 3 15 15
- Access.to.labs.in.other.campuses 3 11 18
- Interdisciplinay.research 2 11 18
- Interdepartamental.projects 1 12 19", header = TRUE, sep = "")
- # Melt the data frame
- dfm = melt(df, id.vars=c("activity"), measure.vars=c("yes","no","dontknow"),
- variable.name="haveused", value.name="responses")
- # Reorder the levels of activity
- dfm$activity = factor(dfm$activity, levels = df$activity)
- # Draw the plot
- ggplot(dfm, aes(x=activity, y=responses)) +
- geom_bar(aes(fill=haveused), stat = "identity") +
- theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.25)) + # Rotate tick mark labels
- guides(fill = guide_legend(reverse = TRUE)) # Reverse the order of the colours in the legend
- # Get the positions of the labels
- library(plyr)
- dfm = ddply(dfm, .(activity), transform, pos = cumsum(responses) - 0.5*responses)
- # Draw the plot
- ggplot(dfm, aes(x=activity, y=responses)) +
- geom_bar(aes(fill=haveused), stat = "identity") +
- theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.25)) +
- guides(fill = guide_legend(reverse = TRUE)) +
- geom_text(aes(label = responses, y = pos), size = 3) # labels inside the bar segments
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement