web-dev-qa-db-fra.com

ggplot2, change la taille du titre

J'aimerais que mon titre principal et le titre de l'axe aient la même taille de police que le texte annoté de mon tracé.

j'ai utilisé theme_get () et trouvé que la taille du texte est 12, donc je l'ai fait dans ma déclaration de thème - cela ne fonctionnait pas. J'ai également essayé d'envoyer la taille relative à 1, et cela n'a pas fonctionné

enter image description here J'espérais que quelqu'un pourrait m'aider s'il vous plaît.

Le code est ci-dessous

library(ggplot2)
library(gridExtra)  #to set up plot grid
library(stringr)  #string formatting functions
library(plyr)  #rbind.fill function
library(reshape2)  #transformation of tables

dat<-data.frame(
est=c(2.75,2.95,2.86,2.99),
ucl=c(2.92,3.23,3.38,4.91),
lcl=c(2.24,1.67,2.44,1.82),
ord=c(1,2,1,2)
)
dat$varname<-c('Estimate','Predictive','Estimate','Predictive')
dat$grp<-c('Cobalt','Cobalt','Chromium','Chromium')

for (i in unique(dat$grp)) {
  dat <- rbind.fill(dat, data.frame(grp = i, ord=0,
                                    stringsAsFactors = F))
}

dat$grp_combo <- factor(paste(dat$grp, dat$ord, sep = ", "))
dat$grpN <- as.numeric(dat$grp_combo)



rng <- c(0,6)
scale.rng <-1


xstart=-(max(dat$grpN)+2)
xend=4


ThemeMain<-theme(legend.position = "none", plot.margin = unit(c(0,0,0, 0), "npc"), 
                 panel.margin = unit(c(0,0, 0, 0), "npc"), 
                 title =element_text(size=12, face='bold'),
                 axis.text.y = element_blank(), 
                 axis.text.x = element_text(color='black'),
                 axis.ticks.y = element_blank(),
                 axis.title.x = element_text(size=12,color='black',face='bold')
                 )
BlankSettings <- theme(legend.position = "none", 
                       title =element_text(size=12, face='bold'),
                       plot.margin = unit(c(0,0, 0, 0), "npc"), 
                       panel.margin = unit(c(0,0, 0, 0), "npc"),              
                       axis.text.x = element_text(color='white'),                             
                       axis.text.y = element_blank(), 
                       axis.ticks.x = element_line(color = "white"),
                       axis.ticks.y=element_blank(),
                       axis.title.x = element_text(size=12,color='white',face='bold'),
                       panel.grid = element_blank(),panel.grid.major = element_blank(),panel.background = element_blank()
                       )

pd <- position_dodge(width = 0.7)

#######################################################################################################
#MAIN PLOT
#######################################################################################################
mainPart<-
  ggplot(dat, aes(x=-grpN,y=est, ymin=lcl, ymax=ucl, group=1)) +
  scale_y_continuous(name=NULL, breaks=seq(rng[1], rng[2], scale.rng), limits=c(rng[1], rng[2]), expand=c(0,0)) + 
  ylab('Ion Concentration') +
  ggtitle('Mean with 95% HDI')+
  #geom_segment(aes(x=xstart, xend=0, y=0, yend=0), linetype=3, alpha=0.01) +
  geom_linerange(aes(linetype="1"),position=pd) +
  geom_point(aes(shape="1"), fill="white",position=pd) +
  coord_flip() +
  scale_x_continuous(limits=c(xstart,xend), expand=c(0,0))+xlab(NULL)+
  ThemeMain

#######################################################################################################
#varnameS
#######################################################################################################
# ystart & yend are arbitrary. [0, 1] is
# convinient for setting relative coordinates of
# columns
ystart = 0
yend = 1
p1 <- 
  ggplot(dat, aes(x = -varnameN, y = 0)) + 
  coord_flip() + 
  scale_y_continuous(limits = c(ystart, yend)) + 
  BlankSettings+
  scale_x_continuous(limits = c(xstart, xend), expand = c(0, 0)) + 
  xlab(NULL) + 
  ylab('') +
  ggtitle('')

studyList<-
  p1 + 
  with(unique(dat[is.na(dat$varname),c("grpN","grp")]), annotate("text",label=grp, x=-grpN,y=0, fontface='bold', hjust=0)) + #Variable Group varnames
  with(dat[!is.na(dat$var),],annotate("text",label=varname,x=-grpN,y=0.04, hjust=0))  #Variables

#######################################################################################################
#EFFECTS
#######################################################################################################
f<-function(x) round(x,2)
dat$msmt<-paste(f(dat$est),' [',f(dat$lcl),', ',f(dat$ucl),']',sep='')


effectSizes<-p1+
  annotate("text",x=-dat$grpN, y=0.25,label=ifelse(is.na(dat$varname)==T,'',dat$msmt))



grid.arrange(ggplotGrob(studyList), ggplotGrob(mainPart), 
             ggplotGrob(effectSizes), ncol = 3, widths = unit(c(0.19, 
                                                                 0.4, 0.41), "npc"))
37
user1375871
+ theme(plot.title = element_text(size=22))

Voici l'ensemble des choses que vous pouvez changer dans element_text:

element_text(family = NULL, face = NULL, colour = NULL, size = NULL,
  hjust = NULL, vjust = NULL, angle = NULL, lineheight = NULL,
  color = NULL)
75
NewNameStat