关于r:ggplot2,更改标题大小

ggplot2, change title size

我希望主标题和轴标题的字体大小与绘图中带注释的文本的字体大小相同。

我使用theme_get()并发现文本大小为12,所以我在主题声明中做到了这一点-这不起作用。我还尝试将相对大小发送为1,但这不起作用

enter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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"))


1
+ theme(plot.title = element_text(size=22))

这是您可以在element_text中更改的全套内容:

1
2
3
element_text(family = NULL, face = NULL, colour = NULL, size = NULL,
  hjust = NULL, vjust = NULL, angle = NULL, lineheight = NULL,
  color = NULL)