
以下为例:
其中
plot.new() #新建一个绘图
plot.window() #位置设定,实际上也是设置了坐标系。
接下来的 points, lines, axis,mtext, text 都是往这个图形上添加元素。
graphics的绘图函数可以分为两类,一种是低级绘图函数,这类函数用于往已经存在的plot上添加元素,如上图中points,lines,axis等,都是往已经存在的图形上添加 底层的图像元素,每个图形元素可以设置自己的属性,如points()中可以设置点的形状大小等。这些函数也可以成为图形元素函数。
另一类图像函数是高级绘图函数,如boxplot, 使用这类函数时传入正确的数据会绘制特定的图形,高级函数会重新打开一个空白绘图板并绘图。
用高级函数绘图后,也可以使用低级绘图函数进一步添加其他图形元素。
除了上述绘制的图形外,往往还需要修改很多其他默认设置,如图形边距,前景色,默认字体大小等。或者这些可成称之为图形主题。
par() #返回图形的默认设置,有72个参数可以设置。
par(mar= ,font= ) #可以更改默认的mar,font选项,类似,默认的参数均可这样修改。
通过par更改是全局更改,如果在text(font= )等也设置了font可以认为是局部设置。
canvas是整个绘图纸张,如一张A4纸
figure是一张组合图,一张图可以包括一个或者多个plot
plot值具体的某个图。
理解这些概念,是图形组合的基础。
par中可以设置绘制图形组合
如
par(mfrow=c(2,1),mar=c(4,4,4,4))
图形可视化需要底层支持,如绘制一个pdf/tiff, 后台要先准备好绘制pdf/tiff的工具,这个准备好的pdf/tiff后台支持,就是所谓的device。就好像你是个画家,你需要画油画,那么你的仆人会先给你准备好画油画用的布板等,你需要画简笔画,仆人就简单给你准备个普通写字台和A4纸张。
pdf('r-plot.pdf') #打开一个pdf绘图设备,并设置为当前设备。注意,该设备是不可见的,非交互的,此后的图形元素都是在这个图形设备上绘图的。
...
dev.off() #关闭当前绘图设备。绘制完毕后,需关闭当前设备。可以这样理解:绘图是在内存ram绘图的,结束后需要将内存数据保存到硬盘上,然后才能在当前文件下找到图r-plot.pdf。
默认的绘图设备
Rstudio, Rgui默认激活了一个可视化的,交互的绘图设备,默认编号是1,可以认为是常开的,交互的,也就是默认Rstudio右下角的plot区域图形。
可能稍微有点麻烦。。。比如在向量v=(v[1],v[2],...,v[n])的第i个元素前加一个元素x变成(v[1],v[2],...,v[i-1],x,v[i],v[i+1],...,v[n])可以这样:
v<-c(v[1:(i-1)],x,v[i:length(v)])列表是R语言中的对象,它包含不同类型的元素,比如 - 数字,字符串,向量和另一个列表等。一个列表还可以包含一个矩阵或一个函数作为它的元素。使用list()函数创建列表。
列表元素可以给定它们的名字并且可以使用这些名称来访问。
列表的元素可以通过在列表中的元素的索引来访问。如遇命名列表也可以使用名称来访问。
继续使用在上面例子的列表
我们可以添加,删除和更新列表中的元素,如下图所示。我们可以增加或删除而且只能添加到列表的末尾的元素。但是可以更新任何元素。
可以把所有的列表传到一个 list()函数合并多个列表成一个列表。
列表可以被转换为一个向量,以便能用于进一步 *** 纵向量的元素。所有关于向量的算术运算可以在列表被转换为矢量之后被应用。要做到这一点转换,使用unlist() 函数。它以列表作为输入,并产生一个向量。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)