r - matching font size for data labels to font size of other elements in ggplot geom_bar -


i'm having hard time figuring out how match font size in ggplot bar chart. elements around axis labels , facet strip labels seem right, font size data labels in plot area seem smaller. there way specify font size such fonts same size?

working example of chart i'm trying produce below.

library(ggplot2) library(reshape2) library(data.table) library(scales)  d <- data.frame(a=c(6.8, 15.1, 7.3), b=c(2.1, 5.9, 1)) #d$ind <- seq_along(d$a) d$hyp <- c("rule of law", "function", "seniority") d$hyp <- factor(d$hyp, levels = c("rule of law", "function", "seniority"))  d.m <- melt(d, id.var='hyp') d.m <- d.m[order(d.m$hyp),] d.m$variable <- c("stronger", "weaker", "finance", "non-finance", "senior", "junior") d.m$variable <- factor(d.m$variable, levels = c("stronger", "weaker", "finance", "non-finance", "senior", "junior")) d.m d.m$ci_hi <- d.m$value + 1.96 * c(2.1, 9.3, 6.2, 2.5, 3.2, 5.3) d.m$ci_lo <- d.m$value - 1.96 * c(2.1, 9.3, 6.2, 2.5, 3.2, 5.3) d.m <-data.table(d.m)   p <- ggplot(d.m, aes(x=variable, y=value, fill=variable))          p <- p + theme_bw()  p <- p + geom_bar(stat='identity', position='dodge') p <- p + geom_text(aes(label=value), position=position_dodge(width=0.9), vjust = -.25, size = element_text(size = 18))  p <- p + facet_grid(. ~ hyp, scales = "free_x") p <- p + geom_hline(aes(yintercept=5.8)) p <- p + geom_text(aes(0,5.8,label = "5.8", vjust = -.2, hjust = -0.2), size = element_text(size = 18)) p <- p + scale_fill_manual(values=alpha(c("red4", "steelblue", "red4", "steelblue", "red4", "steelblue"), .5)) #p <- p + scale_y_continuous("yaxis", limits = c(-2,20)) #p <- p + geom_errorbar(aes(ymin= ci_lo, ymax= ci_hi), width=.1, position = "dodge") p <- p + theme(legend.position="none") #p <- p + theme(axis.text.x=element_text(angle=-45, hjust = 0)) p <- p + theme(axis.text.x = element_text(size = 18)) p <- p + theme(axis.text.y = element_text(size = 18)) p <- p + theme(axis.title.x = element_text(size = 18)) p <- p + theme(axis.title.y =  element_text(size = 18)) p <- p + theme(text =  element_text(size = 50)) p <- p +  theme(strip.text.x = element_text(size = 18, colour = "red4", angle = 0)) p <- p + xlab("scandal effect") p <- p + ylab("percentage point impact on compensation") p 

does following address issue? used theme [tufte], ggthemes package , changed theme(text) size. interestingly, seems ggplot_build(p) not give sizes of text elements. seems here axis labels larger axis text.

library("ggthemes") p <- ggplot(d.m, aes(x=variable, y=value, fill=variable))  p <- p + theme_tufte()  p <- p + geom_bar(stat='identity', position='dodge') p <- p + geom_text(aes(label=value), position=position_dodge(width=0.9), vjust = -.25, size = element_text(size = 18))  p <- p + facet_grid(. ~ hyp, scales = "free_x") p <- p + geom_hline(aes(yintercept=5.8)) p <- p + geom_text(aes(0,5.8,label = "5.8", vjust = -.2, hjust = -0.2), size = element_text(size = 18)) p <- p + scale_fill_manual(values=alpha(c("red4", "steelblue", "red4", "steelblue", "red4", "steelblue"), .5)) p <- p + theme(legend.position="none") # p <- p + theme(axis.text.x = element_text(size = 18)) # p <- p + theme(axis.text.y = element_text(size = 18)) # p <- p + theme(axis.title.x = element_text(size = 18)) # p <- p + theme(axis.title.y =  element_text(size = 18)) p <- p + theme(text =  element_text(size = 18)) # changed size = 50 p <- p +  theme(strip.text.x = element_text(size = 18, colour = "red4", angle = 0)) p <- p + xlab("scandal effect") p <- p + ylab("percentage point impact on compensation") p 

enter image description here


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -