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语言绘图布局内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • linux命令行下使用R语言绘图实例讲解

    使用系统:centos 6.4 64bit 在R语言中可以使用png()等函数生成图片,例如: png("aa.png")可以生成图片. 但是如果你是通过shell远程连接到系统上,可能会碰到如下错误: > png("aa.png") 错误于.External2(C_X11, paste("png::", filename, sep = ""), g$width,  :    无法打开PNG设备 此外: 警告信息: In

  • R语言中字符串的拼接操作实例讲解

    在R语言中 paste 是一个很有用的字符串处理函数,可以连接不同类型的变量及常量. 函数paste的一般使用格式为: paste(..., sep = " ", collapse = NULL) 其 中-表示一个或多个R可以被转化为字符型的对象:参数sep表示分隔符,默认为空格:参数collapse可选,如果不指定值,那么函数paste的返回值是自变量之间通过sep指定的分隔符连接后得到的一个字符型向量:如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间

  • R语言绘制空间热力图实例讲解

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始首先安装相关包 install_packages("devtools") install_packages("REmap") library(devtools) library(REmap) 我们来试试其强大的城市坐标获取功能 city<- c("beijing","上海") get_geo_

  • R语言 用均值替换、回归插补及多重插补进行插补的操作

    用均值替换.回归插补及多重插补进行插补 # 设置工作空间 # 把"数据及程序"文件夹拷贝到F盘下,再用setwd设置工作空间 setwd("E:\\R_workspace\\R语言数据分析与挖掘实战\\chp4") # 读取销售数据文件,提取标题行 inputfile <- read.csv('./data/catering_sale.csv', header = TRUE) View(inputfile) # 变换变量名 inputfile <- da

  • R语言中Fisher判别的使用方法

    最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不严谨但是通俗的说法,判别分析(Discriminant Analysis)是一种多元(多个变量)统计分析方法,它根据样本的多个已知变量的值对样本进行分类的方法.一般来说,判别分析由两个阶段构成--学习(训练)和判别.在学习阶段,给定一批已经被分类好的样本,根据它们的分类情况和样本的多个变量的值来学习

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

    在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar 参数设置margin, 这些边距有什么不同呢,通过box函数可以直观的看到 box 默认在当前图形绘制边框,第一个参数which = "plot", 所以在当前图形上绘制边框 which 的值除了plot 之外,还可以选择 figure, inner, outer 接下来分别用不同的值测试一下,为了区分,为不同的边框设置不同的颜色和类型,代码如下: attach(mtcars) plot(

  • R语言基础画图实例讲解

    1.plot函数 plot(x,y,xlim=c(0,100),ylim=c(0.4,1), type="o",lwd=2,col=2,pch=24,cex=1.5, yaxs="i",xaxs="i", xlab="Sample Ration(%)",ylab="Accuracy") x,y : 要画图的x轴内容和y轴内容 xlim,ylim: x轴和y轴的范围 type: 表示图的形状,是点.线.点线.

  • R语言归一化处理实例讲解

    归一化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内.首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快. R语言中的归一化函数:scale 数据归一化包括数据的中心化和数据的标准化. 1. 数据的中心化 所谓数据的中心化是指数据集中的各项数据减去数据集的均值. 例如有数据集1, 2, 3, 6, 3,其均值为3,那么中心化之后的数据集为1-3,2-3,3-3,6-3,3-3,即:-2,-1,0,3,0 2. 数据的标准化 所谓数据的标准化是指中心化之后

  • R语言绘制地图实例讲解

    setwd("C:/Users/75377/Desktop/SHEEP_ROH") png("12.png",width = 7000,height = 5500,pointsize = 170) par(mai = c(12,12,12,12),mgp = c(2.1,0.5,0)) #地图数据下载http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip librar

  • R语言绘制直方图实例讲解

    直方图表示被存储到范围中的变量的值的频率. 直方图类似于条形图,但不同之处在于将值分组为连续范围. 直方图中的每个柱表示该范围中存在的值的数量的高度. R语言使用hist()函数创建直方图. 此函数使用向量作为输入,并使用一些更多的参数来绘制直方图. 语法 使用R语言创建直方图的基本语法是 hist(v,main,xlab,xlim,ylim,breaks,col,border) 以下是所使用的参数的描述 v是包含直方图中使用的数值的向量. main表示图表的标题. col用于设置条的颜色. b

  • R语言绘制散点图实例分析

    散点图显示在笛卡尔平面中绘制的许多点. 每个点表示两个变量的值. 在水平轴上选择一个变量,在垂直轴上选择另一个变量. 使用plot()函数创建简单散点图. 语法 在R语言中创建散点图的基本语法是 - plot(x, y, main, xlab, ylab, xlim, ylim, axes) 以下是所使用的参数的描述 - x是其值为水平坐标的数据集. y是其值是垂直坐标的数据集. main要是图形的图块. xlab是水平轴上的标签. ylab是垂直轴上的标签. xlim是用于绘图的x的值的极限.

  • python 调用c语言函数的实例讲解

    虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成.这样,就需要用python来调用c的代码了 具体流程: c编写相关函数 ,编译成库 然后在python中加载这些库,指定调用函数. 这些函数可以char ,int, float, 还能返回指针. 以下示例: 通过python调用c函数,返回"hello,world 字符串" 新建c语言文件 hello.c touch hello.c #include <stdio.h> char *get_str() {

  • R语言绘图如何支持中文

    不同系统的字体库目录: Linux 一般在 /usr/share/fonts 下,我们可以使用 fc-list 命令查看: # fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/t

  • R语言变量赋值深入讲解

    变量可以使用向左,向右且等于操作符来分配值.可以使用 print() 或 cat() 函数打印变量的值.cat() 函数将多个项目并成连续并打印输出. # Assignment using equal operator. var.1 = c(0,1,2,3) # Assignment using leftward operator. var.2 <- c("learn","R") # Assignment using rightward operator. c

随机推荐