R语言绘图布局实例讲解

 更新时间:2021年03月17日 10:55:13   作者:庐州月光  
这篇文章主要介绍了R语言绘图布局实例讲解,文中实例讲解的很清晰,有感兴趣的同学可以研究下

在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar 参数设置margin,

这些边距有什么不同呢,通过box函数可以直观的看到

box 默认在当前图形绘制边框,第一个参数which = "plot", 所以在当前图形上绘制边框

which 的值除了plot 之外,还可以选择 figure, inner, outer

接下来分别用不同的值测试一下,为了区分,为不同的边框设置不同的颜色和类型,代码如下:

attach(mtcars)
plot(wt, mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weight")
box(which = "plot", col = "red", lwd = 2)
box(which = "figure",col = "blue", lwd = 4)

为了区分,plot的边框为 红色, figure 的边框为 蓝色,效果如下:

可以看出,在figure 区域中包含了plot 区域, plot 区域指的是实际绘图中的坐标系内的区域,里面是坐标系中的点,线等元素,而在figure 和 plot 区域之间的是坐标轴的刻度,x轴和y中的标签,title 等元素

在红色的边框和蓝色的边框之间的区域就是inner margin, 如果inner margin 太窄会发生什么,用一个实际的例子看一下

par(oma=c(1,1,1,1), mar=c(2,2,2,2))
attach(mtcars)
plot(wt, mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weight")
box(which = "plot", col = "red",  lwd = 2)
box(which = "figure",col = "blue",  lwd = 4)

效果如下:

可以看到,坐标轴对应的标题没有了,通过mar 参数设置了inner margin 的宽度,由于都是1,太窄了,所以坐标轴的标题没显示出来,下次遇到类似的问题,就知道因该将inner margin 设置的大一些

mar 参数的值是一个长度为4的向量,分别对应下,左,上,右 4个方向的inner margin, 只需要记住第一个对应的是下,然后沿逆时针方向设置就可以了;

解决了inner margin 的问题,那么outer margin 有是怎么一回事呢?

在figuer 区域和我们整个绘图设备之间,其实还有一个边距,这个边距就是outer margin, 只不过默认值都是0,所以看不到

接下来我们用oma 参数设置outer margin 的值,将其设置的宽一点,然后再用box 标记出outer 边框和figure 边框,直观的看一下,代码如下:

par(oma=c(2,2,2,2))
attach(mtcars)
plot(wt, mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weight")
box(which = "plot", col = "red",  lwd = 2)
box(which = "figure",col = "blue",  lwd = 4)
box(which = "outer", col = "black", lty = 8)

图中虚线对应的就是outer 边框,在outer 和 figure 边框之间的就是 outer margin , 通过oma 参数的值来设置outer margin 的宽度,和mar 类似,也是从下方开始,沿着逆时针方向进行设置

通过上面的几个例子,我们就可以看到,在R语言中,在一个绘图设备上有3个不同的边框,最外圈为outer 边框,可以看作整张纸的边沿,而中间的figure 边框才是绘制图形的地方,通过par 函数的oma 参数控制figure 区域的大小;

plot 区域绘制的是坐标系中的元素,在plot 区域和figure 边框之间的inner margin 用来放置坐标轴刻度,标题等元素,通过par 函数的mar 参数可以设置其大小

到此这篇关于R语言绘图布局实例讲解的文章就介绍到这了,更多相关R语言绘图布局内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • R语言绘图布局实例讲解

    R语言绘图布局实例讲解

    这篇文章主要介绍了R语言绘图布局实例讲解,文中实例讲解的很清晰,有感兴趣的同学可以研究下
    2021-03-03
  • 详解R语言apply系列函数的使用

    详解R语言apply系列函数的使用

    R语言的循环效率并不高,所以并不推荐循环以及循环嵌套。为了实现循环功能的情况下,兼顾效率,R语言提供了apply系列函数,用于对规则的数据进行函数式的迭代处理,下面就来和大家聊聊它们的使用吧
    2023-03-03
  • R语言实现KMeans聚类算法实例教程

    R语言实现KMeans聚类算法实例教程

    聚类是从数据集中对观测值进行聚类的机器学习方法,下面这篇文章主要给大家介绍了关于R语言实现KMeans聚类算法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • R语言数据可视化tidyr与ggplot2多个变量分层展示举例实现

    R语言数据可视化tidyr与ggplot2多个变量分层展示举例实现

    这篇文章主要为大家介绍了R语言可视化tidyr与ggplot2多个变量的分层展示,实现过程文中通过举例为大家进行了详解,有需要的朋友可以借鉴参考下
    2021-11-11
  • R语言对Web数据操作实例

    R语言对Web数据操作实例

    在本篇文章里小编给大家整理的是一篇关于R语言对Web数据操作实例内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • R语言之反转ggplot2中的图例键顺序方法详解

    R语言之反转ggplot2中的图例键顺序方法详解

    在本教程中,我们将学习如何反转ggplot2中图例键的顺序,文章通过详细的示例代码给大家介绍如何反转ggplot2中的图例键顺序,感兴趣的同学可以跟着小编一起来学习
    2023-05-05
  • R语言关于二项分布知识点总结

    R语言关于二项分布知识点总结

    在本篇内容里小编给大家整理的是一篇关于R语言关于二项分布知识点总结内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • R语言数据重塑知识点总结

    R语言数据重塑知识点总结

    在本篇文章里小编给大家整理的是一篇关于R语言数据重塑的相关知识点内容,有兴趣的朋友们可以跟着学习下。
    2021-03-03
  • 基于R语言for循环的替换方案

    基于R语言for循环的替换方案

    这篇文章主要介绍了基于R语言for循环的替换方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言-绘制双坐标图直方图与折线的结合方式

    R语言-绘制双坐标图直方图与折线的结合方式

    这篇文章主要介绍了R语言-绘制双坐标图直方图与折线的结合方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04

最新评论