R中的绘图知识整理

本文详细介绍了R语言中如何进行图形绘制,包括使用plot函数创建基础图形,通过高水平和低水平绘图机制添加图层,如点、线、图例、文字、参考线和平滑曲线。同时,展示了如何设置图形元素的属性,如颜色、形状和大小,以及如何保存和关闭图形设备。

我们都知道R拥有顶级水准的制图功能,在复杂数据的可视化方面,R完全可以提供最完备最强大的一系列可用功能。下面针对R中基础绘图的相关内容进行举例介绍。

图形设备是用来展现绘图函数的结果,就相当于一块画布,一般来说新绘制的图形往往会覆盖旧的图形。在R中绘图,我们可以选择默认的图形设备,这样比较方便,直接可用。比如输入代码:plot(1:10)绘制1到10 的散点图,绘制图形输出到默认图形设备上,如下图:

如果绘制新的图形,那么原来的图将被覆盖掉;如果选择“文件”-“另存为”可以将图形保存为png、pdf、emf等格式或单击右键选择保存为图元文件。

我们也可以不用R默认的图形设备而选择文件设备,那么绘图函数绘制的结果将保存到文件中,使用png( )、pdf( )、bmp( )等函数可以新建文件或者重写文件,最后需要使用dev.off( )函数来关闭保存。下面的代码可以将图形绘制到pdf文件中:

pdf("graph1.pdf")
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title("车重和每公里耗油量的回归模拟",family="GB1")
detach(mtcars)
dev.off()

R的默认绘图设备的绘图机制分为高水平和低水平。高水平没有图层的概念,每一次的修改都要全部绘制;低水平可以在高水平的图形的基础上添加图的元素,可以灵活地在图形上添加新的元素。常用的统计图通过高水平图形来实现,通过低水平来添加或修改细节。通用的设置通过通行参数来修改,如图形的特征和布局的特征。【备注: mtcars数据框中的数据来源于美国汽车杂志,数据包括燃料消耗和汽车设计方面的10项的参数】

下面我们将高水平和低水平结合,通过不断添加完成绘制图形的工作:

(1)创建一个空的高水平图

plot(mtcars$wt,mtcars$mpg,xlab = "",ylab = "",type = "n",main = "Miles Gallon VS Weight")

其中,type参数可以设置绘制点图时使用的符号元素,可选的类型有:p(点)、l(线)、b(点和线)、......、n(无)。可选类型具体如图:

我们选择了“n”,结果如下:


(2)添加点

points(mtcars$wt,mtcars$mpg,bg=4+mtcars$am,pch=21,cex=1.5)
points(mtcars$wt,mtcars$mpg,col="red",pch=21,cex=1.5)

其中,参数pch代表绘图使用的符号,可以是下图中的任一个:

  对于这些符号,可以通过col设置外圈颜色,通过bg设置内部的填充颜色。当然,对于1~14空心符号设置bg是没有反应的,同理对于15~20的实心符号设置bg也是没有反应的(这些符号的颜色跟col保持一致)。

添加点之后图形为:

(3)添加图例

legend("topright",legend = unique(mtcars$am),pch = 21,pt.bg = unique(4+mtcars$am),cex=1.5)

需要指定图例的位置以及各种属性,结果如下:

(4)添加文字

将每种车型的前进挡数量添加到对应小点的旁边

text(mtcars$wt,jitter(mtcars$mpg),mtcars$gear,cex=1.5)

其中,添加的文字的位置可以通过参数pos决定,pos的值1(下方)、2(左方)、3(上方)、4(右方)。结果如下:

(5)添加参考线

函数abline( )可以用来为图形添加参考线。其形式为:

abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL,
       coef = NULL, untf = FALSE, ...)
主要参数:

a:截距,单个值

b:斜率,单个值

h:水平线 即例如y=3

v:垂直线 即例如x=2

使用代码abline(v=2:6,lty=2,col="grey")添加参考线,线条类型参数lty设置为2。其中常用的线条类型如下图所示:


添加参考线后结果如下图:

(6)添加平滑曲线

lines(smooth.spline(mtcars$wt,mtcars$mpg,df=5),col="darkorange",cex=1.5)

smooth.spline( )添加一个三次样条曲线,df指定了它的自由度。结果如下图所示:

(7)添加矩形

rect(2,15,5,25,col = "NA")

绘图参数可以通过par函数设置修改,也可以通过绘图函数设置参数。绘图函数默认参数放在一个列表par中,使用par(no.readonly=TRUE)可以查看所有参数。实际中并不建议直接修改par进行全局设置(关闭图形设备时,全局设置会自动还原),最好通过绘图函数设置。












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值