美文网首页生信技巧
更改ggplot2绘图参数的简便方法

更改ggplot2绘图参数的简便方法

作者: Boer223 | 来源:发表于2020-02-10 15:18 被阅读0次

    更好的阅读体验>>

    本文将介绍如何使用ggpubr包中的ggpar()函数简单轻松地更改ggplot2绘图参数。ggpar()可以更改的图形参数包括:

    • 主标题、轴标签和图例标题
    • 图例位置和外观
    • 颜色
    • 坐标轴范围
    • 坐标轴的转换:log, sqrt
    • 坐标轴刻度
    • 主题
    • 图形旋转

    ggpubr包的安装可以参考这篇文章-->>ggpubr:快速绘制用于发表的图形

    绘制基本图形

    # 绘制基本图形
    p <- ggboxplot(ToothGrowth, x = "dose", y = "len",
                   color = "dose")
    p
    # 添加网格线
    p + grids(linetype = "dashed")
    

    # 添加边框线
    p + border("black")
      
    # 修改背景色
    p + bgcolor("#BFD5E3") +
      border("#BFD5E3") 
    

    更改标题和轴标签

    修改图形标题和标签:

    p2 <- ggpar(p, 
                title = "Box Plot created with ggpubr",
                subtitle = "Length by dose",
                caption = "Source: ggpubr",
                xlab ="Dose (mg)", 
                ylab = "Teeth length",
                legend.title = "Dose (mg)")
    p2
    

    使用ggpar()更改图形标题和标签的字体和外观:

    ggpar(p2, 
          font.title = c(14, "bold.italic", "red"),
          font.subtitle = c(10,  "orange"),
          font.caption = c(10,  "orange"),
          font.x = c(14,  "blue"),
          font.y = c(14,  "#993333")
          )
    

    或者使用font()函数,也是相同的效果:

    p2 +
     font("title", size = 14, color = "red", face = "bold.italic")+
     font("subtitle", size = 10, color = "orange")+
     font("caption", size = 10, color = "orange")+
     font("xlab", size = 12, color = "blue")+
     font("ylab", size = 12, color = "#993333")
    

    ggpar()函数也可以同时修改标题和标签的文本和外观:

    ggpar(p, title = "Plot of length \n by dose",
          xlab ="Dose (mg)", ylab = "Teeth length",
          legend.title = "Dose (mg)",
          font.title = c(14,"bold.italic", "red"),
          font.x = c(14, "bold", "#2E9FDF"),
          font.y = c(14, "bold", "#E7B800"))
    

    注:

    • font.title, font.subtitle, font.caption, font.x, font.y均是长度为3的向量,包括字体大小、样式(例如:“plain”, “bold”, “italic”, “bold.italic”)和颜色。

    修改图例的位置和外观

    ggpar(p,
          legend = "right", legend.title = "Dose (mg)") + 
      font("legend.title", color = "blue", face = "bold")+ 
      font("legend.text", color = "red")
    

    legend参数是指定图例位置的字符型向量,可选值包括c(“top”, “bottom”, “left”, “right”, “none”)。如果不想显示图例,可以设置legend = “none”。图例的位置也可由坐标位置来c(x, y)指定。

    修改调色板

    分组颜色

    ggpubr()函数中的palette 参数可以用于修改分组变量的颜色。可选值包括:

    • 自定义调色板。例如:c(“blue”, “red”)c(“#00AFBB”, “#E7B800”)
    • 灰色调色板grey
    • brewer 调色板,如“RdBu”, “Blues”
    • ggsci包中的科学期刊调色板,如“npg”, “aaas”, “lancet”, “jco”, “ucscgb”, “uchicago”, “simpsons”,“rickandmorty”
    # 使用自定义调色板
    ggpar(p, palette = c("#00AFBB", "#E7B800", "#FC4E07"))
    # 使用brewer 调色板
    ggpar(p, palette = "Dark2" )
    # 使用灰色调色板
    ggpar(p, palette = "grey")
    # 使用ggsci包中的科学期刊调色板
    ggpar(p, palette = "npg") 
    




    或者也可以使用color_palette()fill_palette()函数:
    p + color_palette("jco")
    p + color_palette(c("#00AFBB", "#E7B800", "#FC4E07"))
    

    渐变色

    使用gradient_color()gradient_fill()函数可以修改渐变色:

    p3 <- ggscatter(mtcars, x = "wt", y = "mpg", color = "mpg",
                    size = 2)
    # 修改渐变色
    # 单色渐变
    p3 + gradient_color("red")
    # 双色渐变
    p3 + gradient_color(c("blue",  "red"))
    # 三色渐变
    p3 + gradient_color(c("blue", "white", "red"))
    # 使用RColorBrewer 调色板
    p3 + gradient_color("RdYlBu")
    




    相同的语法也适用于gradient_fill()函数:
    p4 <- ggscatter(mtcars, x = "wt", y = "mpg", fill = "mpg",
                    size = 4, shape = 21)
    p4 + gradient_fill(c("blue", "white", "red"))
    

    更改坐标轴范围和比例

    # 修改y轴范围
    ggpar(p, ylim = c(0, 50))
    # 将y轴比例改为log2
    ggpar(p, yscale = "log2")
    # 坐标轴比例格式化
    ggpar(p, yscale = "log2", format.scale = TRUE)
    



    也可以使用xscale()yscale()函数达到同样的效果:
    p + yscale("log2", .format = TRUE)
    

    自定义坐标轴文本和标签

    # 修改坐标轴文本字体并旋转45度
    p + 
      font("xy.text", size = 12, color = "blue", face = "bold") +
      rotate_x_text(45)+       
      rotate_y_text(45)
    # 移除坐标轴刻度和文本
    p + rremove("ticks")+
      rremove("axis.text")
    

    图形旋转

    # 水平的箱线图
    p + rotate()
    

    修改主题

    ggpubr包中的默认主题为theme_pubr(),ggtheme 参数可以修改任何ggpubr绘制的图形,可选的主题有:theme_gray(), theme_bw(), theme_minimal(), theme_classic(), theme_void(), 等。

    # 灰色主题
    p + theme_gray()
    # 黑白主题
    p + theme_bw()
    

    # 亮色主题
    p + theme_light()
    p + theme_minimal()
    p + theme_void()
    


    移除ggplot元素

    rremove()函数可以用来移除特定的元素。

    p <- ggboxplot(ToothGrowth, x = "dose", y = "len",
      ggtheme = theme_gray())
    p
    # 移除所有网格线
    p + rremove("grid")
    # 仅移除x轴网格线
    p + rremove("x.grid")
    


    参考

    ggplot2 - Easy Way to Change Graphical Parameters

    相关文章

      网友评论

        本文标题:更改ggplot2绘图参数的简便方法

        本文链接:https://www.haomeiwen.com/subject/gptaxhtx.html