Has this ever happened to you?

I hate it when the labels on the x-axis overlap, but this can be hard to avoid. I can stretch the figure out, but then the data become farther apart and the space where I want to put the figure (either in a talk or a paper) may not accommodate that. I’ve never liked turning the labels diagonally, so recently I’ve started using coord_flip() to switch the x- and y-axes:

ggplot(chickwts, aes(feed, weight)) + stat_summary(fun.data=mean_se, geom=”pointrange”) + coord_flip()

It took a little getting used to, but I think this works well. It’s especially good for factor analyses (where you have many labeled items):

library(psych)

pc <- principal(Harman74.cor$cov, 4, rotate=”varimax”)

loadings <- as.data.frame(pc$loadings[, 1:ncol(pc$loadings)])

loadings$Test <- rownames(loadings)

ggplot(loadings, aes(Test, RC1)) + geom_bar() + coord_flip() + theme_bw(base_size=10)

It also works well if you want to plot parameter estimates from a regression model (where the parameter names can get long):

library(lme4)

m <- lmer(weight ~ Time * Diet + (Time | Chick), data=ChickWeight, REML=F)

coefs <- as.data.frame(coef(summary(m)))

colnames(coefs) <- c(“Estimate”, “SE”, “tval”)

coefs$Label <- rownames(coefs)

ggplot(coefs, aes(Label, Estimate)) + geom_pointrange(aes(ymin = Estimate – SE, ymax = Estimate + SE)) + geom_hline(yintercept=0) + coord_flip() + theme_bw(base_size=10)

*Related*

To

**leave a comment** for the author, please follow the link and comment on his blog:

** Minding the Brain**.

R-bloggers.com offers

**daily e-mail updates** about

R news and

tutorials on topics such as: visualization (

ggplot2,

Boxplots,

maps,

animation), programming (

RStudio,

Sweave,

LaTeX,

SQL,

Eclipse,

git,

hadoop,

Web Scraping) statistics (

regression,

PCA,

time series,

trading) and more...

If you got this far, why not

__subscribe for updates__ from the site? Choose your flavor:

e-mail,

twitter,

RSS, or

facebook...