JY MEMENTO

Last updated:

ggplot2

开头定义变量

l # d # c # g g g g i a o g g g g b t x y g l 使 p g p g p g p g r a r o l e l e l e l e a = = o r o o o o o o o o r u _ t m t m t m t m y c c p v ( _ ( _ ( _ ( _ ( ( ( a d p d p d p d p g d 1 1 = r a o a o a o a o g a , 0 t i t i t i t i p t , c a n a n a n a n l a 2 ( , t , t , t , t o . , 2 " ( ( ( ( t f 0 A " a ) a ) a ) a ) 2 r 3 , " g e e e e ) a , , r s s s s m 3 o ( ( ( ( e 4 0 " u x x x x ( ) , A p , " " = = = = 4 , 0 x x x x ) " , , , , , B " y y y y , = = = = " B y y y y " , , , , ) c c c c o o o o l l l l o o o o r r r r = = = = ! g ! . ! e ! d a t s a s ( y t . c m a n o ( [ a l c [ m o o c e r l o ( _ o l c v r o o a _ r l r v _ o ) a v r ) r a _ ) ) r v ) ] a ) ] r ) ) ) ) )

export

统一主题

theme_figure <- function(base_size = 7, base_family = "",
                     header_family = NULL,
                     base_line_size = base_size / 22,
                     base_rect_size = base_size / 22,
                     ink = "black", paper = "white", accent = "#3366FF") {
  # Starts with theme_grey and then modify some parts
  theme_grey(
    base_size = base_size,
    base_family = base_family,
    header_family = header_family,
    base_line_size = base_line_size,
    base_rect_size = base_rect_size,
    ink = ink, paper = paper, accent = accent
  ) %+replace%
    theme(

      panel.background = element_rect(fill = "#929292", colour = "#000000"),
      panel.border     = element_rect(colour = "#00FFFF"),

      complete = TRUE
    )
}

Cell杂志要求图片中的字为6-8pt,线图的宽度在0.5-1.5pt。
Science杂志要求图片中字的大小最小为6pt,线图宽度至少为0.5pt。
综上所述,我们在ggplot2中出图时可以直接设置好字体、字号、颜色和线条宽度等。

ggplot2中图片格式设置的逻辑很好理解图片

你不需要什么,就把它在theme()中设置为element_blank()即可。

如果需要的话,就根据它的类型(点/线/方框/文字)来指定参数。

  • Step1: 设置图片的背景

一般学术论文中的图片都不需要背景,因此设置背景为透明,但给panel添加黑色边框。

设置整个图片的背景为空,这样即可获得透明背景

t h e m e ( p l o t . b a c k g r o u n d = e l e m e n t _ b l a n k ( ) )

设置不显示panel的线条,不显示panel的背景,但给panel添加边界,黑色,宽度0.5mm

t # h e m e ( 线 p a n e l 0 . . g 5 r m i m d = e l e m 0 e . n 5 t m _ m b l a 1 n . k 4 ( 1 ) 5 , p p t a n e l . b a c k g r 0 o . u 5 n m d m = e l e 线 m e n A t I _ b l a n k 1 ( . ) 0 , 7 p p a t n e l . b o r d e r = e l e m e n t _ r e c t ( c o l o r = " b l a c k " , l i n e w i d t h = 0 . 5 , f i l l = N A ) )
  • Step2: 设置坐标轴和坐标轴刻度线的颜色及粗细
  1. 设置横纵坐标轴为空,因为前面已经指定了panel的边框,这里就不需要再加坐标轴了,否则会出现叠加的线条。当然加上也可以,只不过在AI里就会出现多余的线条。(本强迫症当然是不会允许这种事情发生的)
t h e m e ( a x i s . l i n e = e l e m e n t _ b l a n k ( ) )
  1. 指定坐标轴刻度线为黑色,宽度0.5mm
t h e m e ( a x i s . t i c k s = e l e m e n t _ l i n e ( c o l o r = " b l a c k " , l i n e w i d t h = 0 . 5 ) )
  • Step3: 设置文字的字体、字号和颜色

ggplot2中默认所有文字的字体都为Arial,因此无需再指定。而综合CNS杂志的要求,我们建议将字号统一设置为7pt。

  1. 指定坐标轴的文字为黑色,字号7pt
t h e m e ( a x i s . t e x t = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) )
  1. 指定坐标轴标题文字为黑色,字号7pt
t h e m e ( a x i s . t e x t = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) )
  1. 指定图片标题为黑色,字号7pt
t h e m e ( p l o t . t i t l e = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) )
  • Step4: 对legend进行设置
  1. 指定legend的背景设为空
t h e m e ( l e g e n d . b a c k g r o u n d = e l e m e n t _ b l a n k ( ) , l e g e n d . k e y = e l e m e n t _ b l a n k ( ) )
  1. 指定legend的字号和颜色
t h e m e ( l e g e n d . t e x t = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) , l e g e n d . t i t l e = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) )

将以上所有设置全部写入plot.format变量中,在每次画图时直接添加即可图片

p g l g o p t l . o f t o ( r d m a a t t a = ) t + h g e e m o e m ( _ p b l o o x t p . l b o a t c ( k a g e r s o ( u x n = d g = r e o l u e p m , e y n = t v _ a b l l u a e n , k f ( i ) l , l p = a g n r e o l u . p g ) r , i o d u = t e l l i e e m r e . n s t h _ a b p l e a = n N k A ( ) ) + , l p a a b n s e ( l x . = b " a G c r k o g u r p o " u , n y d = = " e V l a e l m u e e n " t , _ t b i l t a l n e k ( = ) , " p B a o n x e p l l . o b t o " r ) d + e p r l = o e t l . e f m o e r n m t a _ t r e c t ( c o l o r = " b l a c k " , l i n e w i d t h = 0 . 5 , f i l l = N A ) , a x i s . l i n e = e l e m e n t _ b l a n k ( ) , a x i s . t i c k s = e l e m e n t _ l i n e ( c o l o r = " b l a c k " , l i n e w i d t h = 0 . 5 ) , a x i s . t e x t = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) , a x i s . t i t l e = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) , p l o t . t i t l e = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) , l e g e n d . b a c k g r o u n d = e l e m e n t _ b l a n k ( ) , l e g e n d . k e y = e l e m e n t _ b l a n k ( ) , l e g e n d . t e x t = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) , l e g e n d . t i t l e = e l e m e n t _ t e x t ( c o l o r = " b l a c k " , s i z e = 7 ) )