R 画图时 par中的matlab 参数方程 画图怎么恢复原来设置

R语言图形初阶——图形参数详解
R语言图形初阶——图形参数详解
可视化的图形在前几天也都已经介绍了很多,但是在图形中,除了能绘制出特定图形的函数对象外,其中有很多的图形参数其实是相通的,因此,以一个简单的图形作为新的开始,进一步探索并按需求修改、强化图形,使图形更适合我们的具体所需。简单的例子开始首先在下面的表格中给出了病人对药物A、B在不同剂量上的反应情况通过代码输入数据,并绘制图形,这里使用plot()函数绘制了一个折线图:图形参数通过修改图形参数的选项,我们可以将绘制的图形变的更美观,更有特点。一种方法是通过函数par()来定义指定的选项参数。另一种方法是在使用绘图函数时直接通过参数定义。通过no.readonly=TRUE语句可以修改当前图形参数:代码中真正起到修改图形的是par()函数中的图形参数lty和pch,第一行中先复制了我们在第一个图形中的图形参数,第二行中par()函数修改了默认的图形参数,并重新再第三行绘制新的图形,最后一行还原了我们预先复制的原参数。通过代码中的这四步操作,在修改了图形样式后又还原了原先的图形参数,这步骤有些繁复,我觉得操作一遍体验下就好。直接在函数中添加图形参数:使用了与前一种方法相同的图形参数,因此结果图形与之前是相同的, 在此就不展示了,但并不是所有的绘图函数都能够兼容所有的图形参数,想要了解详细的话,可以使用帮助(即?plot)来确定适用的参数来进行设置符号和线形符号pch——指定绘制点时的符号cex——指定符号的大小,默认大小为1,1.5即放大1.5倍,0.5即缩小0.5倍对于21-25号的符号,还可以通过col和bg来指定边框色和填充色线条lty——指定线条的类型lwd——指定线条的宽度,默认为1,2即2倍粗实战尝试:
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 泰国佛牌,婴灵安置,转运,成愿,招财.招人缘
作者最新文章查看: 13321|回复: 1
R语言 图形页面排版
本帖最后由 genechip 于
10:21 编辑
有关绘图的全局参数多数都可以使用par()函数设置,该函数有丰富的在线参考信息,可通过?par获得。这只讲些常用参数的设置。
一、图形边距:mar/mai参数
R绘图参数中表示距离大小的一般都有“英寸”和“行”两种单位方式。图形边距设定参数可以用mai(英寸边距)和mar(行边距)。四个边距的顺序是下、左、上、右,如下图所示:
设置方法:
par(bg=&cyan&)& && && && && & #把图形背景设为青色以便观察
par(mar=c(4, 4, 0.5, 0.5))& & #设定下边距和左边距为4行,另外两边距为0.5行。
set.seed(1000)& && && && && & #设此参数是为了下面的rnorm()函数都能获得相同数据
plot(rnorm(10))
二、坐标轴(标题、刻度标签和刻度线)位置:mgp参数
mgp参数可设三个数值,依次为标题、刻度标签和刻度的位置。mar/mai设定参数后,图形区(用box函数绘制的边框)边缘位置即为0。所以,mgp=c(2, 0.5, 0)就表示标题在第二行,刻度标签在0.5行,刻度线在0行。
par(bg=&cyan&)
par(mar=c(4, 4, 0.5, 0.5))
set.seed(1000)
par(mgp=c(2,0.5,0))& && &#坐标轴各项的位置设定
plot(rnorm(10))
三、获取位置坐标
如果要把图例、自定义文字等设置在图形区以外,par函数的usr参数非常有用,获取方法很简单:
usr &- par(&usr&)
[1]&&0....8034654
返回值是一个向量:c(x1, x2, y1, y2)
如果要通过鼠标点击获得图形上的某些点的坐标,可以用locator()函数:
xy &- locator(n=1)& &#参数n表示要获得n个点的坐标,需要点击n次鼠标
[1] -1.430878
[1] 0.3818771
四、在图形区外添加图例和文字
有了以上获取坐标信息的方法,我们可以把图例放在图形区外。先绘制柱形图:
par(mar=c(3, 3, 0.5, 4))& && &#注意给图例留出空间
par(mgp=c(2,0.5,0))
NF &- c(17.44 , 2.56 , 2.70 , 18.71 , 5.61 , 32.98)
CA &- c(11.48 , 0.75 , 1.16 , 12.73 , 2.84 , 20.04)
labels &- paste(&S&, 1:length(NF),sep=&&)
the.data &- rbind(NF, CA)
barplot(the.data, ylim=c(0, max(NF,CA)*1.2), col=c(&orange&, &red&),
+ xlab=&Sample&, ylab=&Level&, beside=TRUE,
+ offset=0, axis.lty=1, names.arg=labels)
然后通过坐标设定将图例放到图形区外。注意:除坐标(指图例的左上角坐标)数值设定外,还要legend函数中的参数xpd值设为TRUE,意思为“允许在图形区外绘制”。
usr &- par(&usr&)
x &- usr[2]*1.02& &&&#图例左上角的x坐标
y &- usr[4]*0.6& && &#图例左上角的y坐标
legend(x, y, legend=c(&NF&,&CA&), fill=c(&orange&, &red&), box.col=&white&, xpd=TRUE)
事实上,使用legend函数的inset参数就可以把图例放到图形区外,不需要设定坐标值。inset的值表示相对于图形区的比例,比如:如果位置坐标用“left”和“right”,inset表示相对于x轴长度的比例。要将图例放到图形区外,inset设定为负值,具体数字自己估算。前面的图例可以用下面语句获得:
legend(&right&, legend=c(&NF&,&CA&), box.col=&white&, fill=c(&orange&, &red&), inset=-0.28, xpd=TRUE)
灵活设定inset的值可以把图例放置在图形的其他地方:
par(mar=c(3, 3, 2, 0.5))
par(mgp=c(2,0.5,0))
barplot(the.data, ylim=c(0, max(NF,CA)*1.2), col=c(&orange&, &red&),
+ xlab=&Sample&, ylab=&Level&, beside=TRUE,
+ offset=0, axis.lty=1, names.arg=labels)
legend(&top&, legend=c(&NF&,&CA&), box.col=&white&, fill=c(&orange&, &red&),
+ ncol=2, inset=-0.15, xpd=TRUE)
随便简单说说文字添加,更详细的内容留后面介绍。图形区内添加文字用text()函数,在图形区外添加文字用mtext()函数。这种约束也不是死的,设定合适的参数,两者可以随意使用。另外,mtext()不能添加旋转的文字,text用srt参数可以获得旋转文字。下面我们用旋转文字设定x轴标签:
NF &- c(17.44 , 2.56 , 2.70 , 18.71 , 5.61 , 32.98)
CA &- c(11.48 , 0.75 , 1.16 , 12.73 , 2.84 , 20.04)
the.data &- rbind(NF, CA)
labels &- paste(&Sample&, 1:length(NF))
par(mar=c(4, 3, 0.5, 0.5))
par(mgp=c(2,0.5,0))
position &- barplot(the.data, ylim=c(0, max(NF,CA)*1.2),
+ col=c(&orange&, &red&), legend.text=c(&NF&,&CA&),
+ args.legend=list(x=&topleft&, box.col=&white&, inset=0.02),
+ ylab=&Level&, beside=TRUE, offset=0, axis.lty=1)
#以下为横坐标标签设定
x &- (position[1,] + position[2,])/2
y &- par(&usr&)[3]-1
text(x, y, labels=labels, adj=1, srt=45, xpd=TRUE)
五、一页多图
把一个页面平分成n份做n个图,用par函数的mfrow和mfcol参数。这两个参数都是两个值的向量,表示行数和列数,但在页面上作图顺序的顺序不一样。如果用mfrow参数,一行一行从左到右作图;mfcol则是一列一列的做。下面图形的代码只有第一行不一样,注意看每个图内的点(数字):
par(mfrow=c(2,2))
par(mar=c(3, 3, 0.5, 0.5))
set.seed(1000)
plot(rnorm(100),pch=&1&, cex=0.6)
set.seed(1001)
plot(rnorm(100),pch=&2&, cex=0.6)
set.seed(100)
plot(rnorm(100),pch=&3&, cex=0.6)
set.seed(1003)
plot(rnorm(100),pch=&4&, cex=0.6)
par(mfcol=c(2,2))
par(mar=c(3, 3, 0.5, 0.5))
set.seed(1000)
plot(rnorm(100),pch=&1&, cex=0.6)
set.seed(1001)
plot(rnorm(100),pch=&2&, cex=0.6)
set.seed(100)
plot(rnorm(100),pch=&3&, cex=0.6)
set.seed(1003)
plot(rnorm(100),pch=&4&, cex=0.6)
如果页面不均等分隔绘制多图,用layout函数分隔页面。它有四个参数,mat,widths,heights和respect。后三个参数有默认值,这里我们只设置第一个参数mat。它是一个矩阵,表示绘图区分隔的各部分,相同数字的部分合并成一个绘图区,数字也是它们作图时的顺序。下面的矩阵mat有2行3列,我们看看它绘出的图形:
par(mar=c(2, 2, 0.5, 0.5))
mat &- matrix(c(1,1,2,3,4,4), nrow=2, byrow=TRUE)
& &&&[,1] [,2] [,3]
[1,]& & 1& & 1& & 2
[2,]& & 3& & 4& & 4
layout(mat)
set.seed(1000)
plot(rnorm(100),pch=&1&, cex=0.6)
set.seed(1001)
plot(rnorm(100),pch=&2&, cex=0.6)
set.seed(1002)
plot(rnorm(100),pch=&3&, cex=0.6)
set.seed(1003)
plot(rnorm(100),pch=&4&, cex=0.6)
par(mar=c(2, 2, 0.5, 0.5))
mat &- matrix(c(1,2,3,4,4,4), nrow=2, byrow=TRUE)
& &&&[,1] [,2] [,3]
[1,]& & 1& & 2& & 3
[2,]& & 4& & 4& & 4
layout(mat)
set.seed(1000)
plot(rnorm(100),pch=&1&, cex=0.6)
set.seed(1001)
plot(rnorm(100),pch=&2&, cex=0.6)
set.seed(1002)
plot(rnorm(100),pch=&3&, cex=0.6)
set.seed(1003)
plot(rnorm(100),pch=&4&, cex=0.6)
注意:mat参数的值必需从1-n顺序依次取值,不能有间隔。
整理的好!!学习了!
Powered by您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
R语言入门 图形.ppt 56页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:220 &&
你可能关注的文档:
··········
··········
图形参数的使用
前面我们已经看到了如何用main=,xlab=等参数来规定高级图形函数的一些设置。在实际绘图,特别是绘制用于演示或出版的图形时,S用缺省设置绘制的图形往往不能满足我们的要求。 但是,S提供了一系列所谓图形参数,通过使用图形参数可以修改图形显示的所有各方面的设置。图形参数包括关于线型、颜色、图形排列、文本对齐方式等各种设置。每个图形参数有一个名字,比如col代表颜色,取一个值,比如col=&red&是红色。每个图形设备有一套单独的图形参数。 设置图形参数分为两种:永久设置与临时设置。永久设置使用par()函数进行设置,设置后在退出前一直保持有效;临时设置则是在图形函数中加入图形参数,如上面的例子: & text(locator(1), &Normal density&, adj=0) 中的adj参数。 * par()函数用来访问或修改当前图形设备的图形参数。如果不带参数调用,如:
结果为一个列表,列表的各元素名为图形参数的名字,元素值为相应图形参数的取值。 如果调用时指定一个图形参数名的向量作为参数,则只返回被指定的图形参数的列表:
& par(c(&col&, &lty&))
& par('col.axis')
[1] &black& 调用时指定名字为图形参数名的有名参数,则修改指定的图形参数,并返回原值的列表: & oldpar = par(col=4, lty=2)
* 因为用par()修改图形参数是保持到退出以前都有效的,而且即使是在函数内此修改仍是全局的,所以我们可以利用如下的惯用法,在完成任务后恢复原来的图形参数: & oldpar =par(col=4, lty=2) …(需要修改图形参数的绘图任务)
& par(oldpar)
# 恢复原始的图形参数
除了象上面那样用par()函数永久修改图形参数,我们还可以在几乎任何图形函数中指定图形参数作为有名参数,这样的修改是临时的,只对此函数起作用。例如: & plot(x, y, pch=&+&)
就用图形参数pch指定了绘散点的符号为加号。这个设定只对这一张图有效,对以后的图形没有影响。 * 图形参数详解
鉴于绘制有特殊需要的图形是S的一个强项,而使用图形参数是完成此类任务的重要手段,我们在这里较详细地介绍S的各种图形参数。这些图形参数可以大体上分为以下的几个大类,我们将分别介绍: 图形元素控制
坐标轴与坐标刻度
* 一、图形元素 图形由点、线、文本、多边形等元素构成。下列的图形参数用来控制图形元素的绘制细节: pch=&+&    
pch=4 指定用于绘制散点的符号。绘制的点往往略高于 或低于指定的坐标位置,仅pch=“.”无这个问题。 如果pch的值为从0到18之间的一个数字,将使用 特殊的绘点符号。 下例可以显示所有特殊绘点符号: & plot(c(0, 100), c(0, 100), type=&n&, axes=F, xlab='', ylab='')
& legend(10,90, as.character(0:9), pch=0:9) & legend(50,90, as.character(10:18), pch=10:18)
* & plot(c(0, 100), c(0, 100), type=&n&, axes=F, xlab='', ylab='')
& legend(10,90, as.character(0:9), pch=0:9) & legend(50,90, as.character(10:18), pch=10:18)
* lty=2 指定画线用的线型。缺省值lty=1是实线。从2开始 是各种虚线。 lwd=2 指定线粗细,以标准线粗细为单位。这个参数影 响数据曲线的线宽以及坐标轴的线宽。下例绘制 正弦曲线图: & oldpar =par(lwd=2,col=‘blue’,lty=2) & x = (0:100)/100*2*pi & plot(x, sin(x), type=&l&, axes=F) & abline(h=0) & abline(v=0) & par(oldpar) col=2 指定颜色,可应用于绘点、线、文本、填充区域、图象。颜色值也可以用象&quo
正在加载中,请稍后...R语言 画图函数的参数 介绍
编辑:www.fx114.net
本篇文章主要介绍了"R语言 画图函数的参数 介绍",主要涉及到R语言 画图函数的参数 介绍方面的内容,对于R语言 画图函数的参数 介绍感兴趣的同学可以参考一下。
R语言 画图函数的参数 介绍
R的基本画图函数非常容易学,看上去也很普通。然而适当的参数设置,有意义的颜色设置,不同基本图间的互相组合,会使你的图更漂亮也更有力的表达数据。下面介绍一些R基本包里画图函数的参数:
hist(): breaks设置每个柱的间距;freq柱图表示count或frequency;polt设置是否画图;density和angle可以设置柱上的斜线;axes设置是否需要画坐标轴; cor设置柱图的颜色;border设置柱图边界的颜色;xlim设置横轴范围;ylim设置纵轴范围。
R的许多函数都有类似的参数名,这些函数往往有同样的功能。因此后面就只介绍比较特殊的参数。
layout():mat用矩阵设置窗口的划分,矩阵的0元素表示该位置不画图,非0元素必须包括从1开始的连续的整数值,比如:1……N,按非0元素的大小设置图形的顺序。widths用来设置窗口不同列的宽度,heights设置不同行的高度。par()的mfcol,和mfrow参数也有类似layout的功能,不过相对layout就逊色多了。
par():mar设置图离四个边缘的距离;bg设置背景颜色;xaxt和yaxt设置坐标轴标签的类型(=”n”表示不画轴标签);xlim和ylim设置坐标轴的范围。
axis():las设置坐标轴标签的方式(水平,垂直……)。
mtext():为四个坐标轴添加标签。
text():在给定坐标的位置写字。
lines():lty设置线的类型;lwd设置线的宽度。
points():pch设置点的类型。
plot():最简单的画图函数。type设置画图的类型(type=”n”表示不画数据);axes设置是否画坐标轴。常用的参数还有:xlim和ylim,xaxt和yaxt。
barplot():space设置bar图间的间距;horiz设置bar的方向是垂直或水平;beside设置height为矩阵时,每列元素的bar排列方式;add设置是否将barplot加在当前已有的图上。
legend():除了利用x,y设置图例的坐标外,用”topleft”, &center&,&bottomright&等设置位置非常方便。ncol设置图例的列数, horiz设置图例的排列方向。常有的参数还有col,lty,pch。
heatmap():Rowv和Colv设置是否需要按行或列聚类;scale设置是否需要按行或列标准化;na.rm设置是否移去NA;RowSideColors和ColSideColors可以在行或列边缘添加颜色;keep.dendro设置是否画聚类树。
dendrogram():'nodePar'和'edgePar'都是list,可以方便的设置节点和边的各种属性,如:颜色,样式,宽度,标签……。
在初学一个函数的时候,可能不知道函数有哪些参数,尤其是R中用...省略的参数。这时候看看“See Also:”里面提供的相关函数时非常有用的,R函数多是继承其它的更一半的函数,所以参数也会继承,理解了这一点,就能灵活应用..省略的参数了。另一方面,一些函数返回的对象的类是比较复杂的,有多个属性(一般会在“Value”里面说明这些对象的属性)。但有些函数的帮助里没有“Value”栏, 幸运的是R中的一些函数提供了对各种类通用的处理,通过这些函数你可以大概了解一个对象所有的属性。如:summary()总结对象的基本特征;attributes()列出对象的所有属性;attr()给出对象的指定属性的值;labels()列出对象的标签;str()展示对象的结构……。
学会使用这些函数和参数能让你的图更好看,但是理解R的函数结构和参数意义,会更有意义。正所谓,受之与鱼不如受之与渔。
原文:/zhanghaooy/item/539e3fd6c515f9e0795daac1
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 par64筒灯参数 的文章

 

随机推荐