美文网首页技术学习R语言做图16s rRNA
关于调整ggplot2图形背景,图例,XY轴范围及标签等的问题

关于调整ggplot2图形背景,图例,XY轴范围及标签等的问题

作者: R语言与SPSS学习笔记 | 来源:发表于2021-10-09 21:49 被阅读0次

    不知道大家有没有印象,其实关于调整ggplot2图形背景,图例,XY轴范围及标签等的问题在我们往期公众号有推文介绍过,但是以前给大家介绍的是利用ggThemeAssist 包经过鼠标调整,然后一键生成代码,我个人觉得这个包非常方便实用,感兴趣的朋友可以看一下:ggThemeAssist | 鼠标调整ggplot2主题并自动生成代码,优秀!

    今天我们脱离ggThemeAssist包,给大家介绍直接用代码如何调整ggplot2图形背景,图例,XY轴范围及标签等。当然了,大家可以结合ggThemeAssist包一起学习,加深记忆。

    一.旋转XY轴标签

    library(ggplot2)
    p <- ggplot(ToothGrowth, aes(x = factor(dose), y = len,fill=factor(dose))) +
      geom_boxplot()
    p
    

    1.改变x轴标签与x轴的角度与距离

    p + theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))
    

    2.将x轴标签加粗,字体颜色变红,大小为12号,角度与x轴成45度(y轴标签类似)

    p + theme(axis.text.x = element_text(face = "bold", color = "red",
                                         size = 12, angle = 45),
              axis.text.y = element_text(face = "bold", color = "blue",
                                         size = 12, angle = 45))
    

    3.删除x,y轴标签

    p + theme(axis.text.x = element_blank(),  axis.text.y = element_blank())
    

    4.删除x,y轴标签和刻度

    p + theme(axis.text.x = element_blank(),  axis.text.y = element_blank(),
              axis.ticks = element_blank())
    

    二.设置x轴范围

    1.使用xlim()设置X轴范围

    p+xlim(0,5)#这里因为x轴是分组变量,所以会出错,如果x轴为连续变量就不会出错
    

    2.使用ylim()设置y轴范围

    p +  ylim(0, 45)
    

    3.使用coord_cartesian()设置X,Y轴范围

    p+ coord_cartesian(xlim =c(0, 3), ylim = c(0, 50))
    

    三.改变图例位置

    1.图例在图外面

    ToothGrowth$dose<-factor(ToothGrowth$dose)
    p <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
      geom_boxplot()
    p
    

    2.图例在图里面

    p+ theme(legend.position = c(.9, .9))
    

    3.删除图例

    p+ theme(legend.position = "none")
    

    4.改变图例背景色

    p + theme(legend.background = element_rect(fill="pink", size=0.5, linetype="solid"))
    

    四.改变背景颜色

    1.背景色中添加绿色辅助线

    p + theme(panel.background = element_rect(fill = 'white', color = 'blue'),
              panel.grid.major = element_line(color = 'green', linetype = 'dotted'),
              panel.grid.minor = element_line(color = 'green', size = 2))
    

    2.白色背景灰色网格线

    p + theme_bw() 
    

    3.没有外框

    p + theme_minimal() 
    

    4.只有xy轴,没有网格线

    p + theme_classic() 
    

    5.黑色网格线

    p + theme_linedraw() 
    

    6.浅灰色网格线和外框

    p + theme_light() 
    

    7.无背景

    p + theme_void() 
    

    8.暗背景

    p + theme_dark() #暗背景
    

    今天的学习到这,欢迎大家关注我们的公众号!
    参考链接:https://www.r-bloggers.com/2021/09/how-to-change-legend-position-in-ggplot2-2/https://www.r-bloggers.com/2021/09/how-to-set-axis-limits-in-ggplot2/https://www.r-bloggers.com/2021/09/how-to-change-background-color-in-ggplot2/https://www.r-bloggers.com/2021/09/how-to-rotate-axis-labels-in-ggplot2/

    相关文章

      网友评论

        本文标题:关于调整ggplot2图形背景,图例,XY轴范围及标签等的问题

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