R语言高级绘图命令(标题-颜色等)

plot(x)          
以x的元素值为纵坐标、以序号为横坐标绘图
plot(x,y)        
x(在x-轴上)与y(在y-轴上)的二元作图
sunflowerplot(x,y)同上,但是以相似坐标的点作为花朵,其花瓣数目为点的个数
pie(x)饼图
boxplot(x)盒形图(“box-and-whiskers”)
stripchart(x)把x的值画在一条线段上,样本量较小时可作为盒形图的替代
coplot(x~y|z)关于z的每个数值(或数值区间)绘制x与y的二元图
interaction.plot(f1, f2, y)如果f1和f2是因子,作y的均值图,以f1的不同值作为x轴, 
而f2的不同值对应不同曲线;可以用选项fun指定y的其他的统计量(缺省计算均值,fun=mean)
matplot(x,y)二元图,其中x的第一列对应y的第一列,x的第二列对应y的第二列,依次类推。
dotchart(x)如果x是数据框,作Cleveland点图(逐行逐列累加图)
fourfoldplot(x)用四个四分之一圆显示2X2列联表情况(x必须是dim=c(2,2,k)的数组,或者是dim=c(2,2)的矩阵,如果k=1)
assocplot(x)Cohen–Friendly图,显示在二维列联表中行、列变量偏离独立性的程度
mosaicplot(x)列联表的对数线性回归残差的马赛克图
pairs(x)如果x是矩阵或是数据框,作x的各列之间的二元图
plot.ts(x)如果x是类"ts"的对象,作x的时间序列曲线,x可以是多元的,但是序列必须有相同的频率和时间
ts.plot(x)同上,但如果x是多元的,序列可有不同的时间但须有相同的频率
hist(x)x的频率直方图
barplot(x)x的值的条形图
qqnorm(x)正态分位数-分位数图
qqplot(x,y)y对x的分位数-分位数图
contour(x,y,z)等高线图(画曲线时用内插补充空白的值)
filled.contour(x,y,z)同上,等高线之间的区域是彩色的,并且绘制彩色对应的值的图例
image(x,y,z)同上,但是实际数据大小用不同色彩表示
persp(x,y,z)同上,但为透视图
stars(x)如果x是矩阵或者数据框,用星形和线段画出
symbols(x,y,...)在由x和y给定坐标画符号(圆,正方形,长方形,星,温度计式或者盒形图),符号的类型、大小、颜色等由另外的变量指定
termplot(mod.obj)回归模型(mod.obj)的(偏)影响图
heatmap(x)热度图

其他的包中可能也会提供额外的图表类型,比如:

quantmod包提供的K线图:chartSeries()

portfolio包提供的tree map(板块层级图):map.market(id, area, group, color)用矩形面积来表示数值,可用于分析磁盘空间占用

lattice包提供的平行坐标图:parallel(data)

绘图示例

> x = rnorm(10) > y = rnorm(10) > plot(x,y)

绘图参数

很多时候,你可能需要调整图形的显示方式。R的绘图参数几乎可以定制图形的任何显示(如标题,坐标轴,颜色,字体等)。

R 拥有一个数目很大的图形参数列表。该列表包括控制线条样式,颜色,图形排列和文字对齐等方面的参数。

更改图形参数有两种方式,一种是直接在绘图函数中设置参数,这种方式只影响当前绘图函数,但是不是所有的参数都能够通过这种方式设置;另一种是通过par()函数设置,这种方式会影响当前绘图设备上的所有图形。

下面先看一个直接设置参数的例子:

>plot(x,y,type="b",main="main title",sub='sub title',xlab="x axis",ylab='y axis',asp=0.2)使用par()函数的例子: opar <- par()#备份原来的绘图参数par(bg="lightyellow", col.axis="blue", mar=c(4, 4, 2.5, 0.25))plot(x, y, xlab="Ten random values", ylab="Ten other values",xlim=c(-2, 2), ylim=c(-2, 2), pch=22, col="red", bg="yellow",bty="l", tcl=-.25, las=1, cex=1.5)par(opar)#恢复原来的绘图参数
通过?par可以查到所有参数的说明。下面列举最常用的一些参数:adj控制关于文字的对齐方式,0是左对齐,0.5是居中对齐,1是右对齐,值> 1时对齐位置在文本右边的地方,取负值时对齐位置在文本左边的地方;如果给出两个值(例如c(0, 0)),第二个只控制关于文字基线的垂直调整bg指定背景色(例如bg="red", bg="blue"; 用colors()可以显示657种可用的颜 色名)bty控制图形边框形状,可用的值为: "o", "l", "7", "c", "u" 和"]" (边框和字符 的外表相像);如果bty="n"则不绘制边框cex控制缺省状态下符号和文字大小的值;另外,cex.axis控制坐标轴刻度数字大小,cex.lab控制坐标轴标签文字大小,cex.main控制标题文字大小,cex.sub控制副标题文字大小col控制符号的颜色;和cex类似,还可用:col.axis, col.lab, col.main, col.subfont控制文字字体的整数(1: 正常,2: 斜体,3: 粗体,4: 粗斜体);和cex类似, 还可用: font.axis, font.lab, font.main, font.sublas控制坐标轴刻度数字标记方向的整数(0: 平行于轴,1: 横排,2: 垂直于轴,3: 竖排)lty控制连线的线型,可以是整数(1: 实线,2: 虚线,3: 点线,4: 点虚线,5: 长虚线,6: 双虚线),或者是不超过8个字符的字符串(字符为从"0"到"9"之间的数字)交替地指定线和空白的长度,单位为磅(points)或象素,例如lty="44"和lty=2效果相同lwd控制连线宽度的数字mar控制图形边空的有4个值的向量c(bottom, left, top, right), 缺省值 为c(5.1, 4.1, 4.1, 2.1)mfcolc(nr,nc)的向量,分割绘图窗口为nr行nc列的矩阵布局,按列次序使用各子窗口mfrow同上,但是按行次序使用各子窗口(参照 4.1.2)pch控制符号的类型,可以是1到25的整数,也可以是""里的单个字符ps控制文字大小的整数,单位为磅(points)pty指定绘图区域类型的字符,"s": 正方形,"m":最大利用tck指定轴上刻度长度的值,单位是百分比,以图形宽、高中最小一个作为基数; 如果tck=1则绘制gridtcl同上,但以文本行高度为基数(缺省下tcl=-0.5)xaxt如果xaxt="n"则设置x-轴但不显示(有助于和axis(side=1, ...)联合使用)yaxt如果yaxt="n"则设置y-轴但不显示(有助于和axis(side=2, ...)联合使用) 
低级绘图命令R还可以在现有图形(通过高级绘图命令绘制)的基础上增加一些额外的显示,如标题、绘制坐标轴、在特定的位置增加图形(比如辅助线,拟合线)或文字等。这些函数在R中称为低级作图命 令(low-level plotting commands)。一些常用的低级图形命令包括:scatter.smooth(x, y, …)LOESS(局部加权散点平滑)拟合曲线points(x, y)添加点(可以使用选项type=)lines(x, y)同上,但是添加线text(x, y, labels,…)在(x,y)处添加用labels指定的文字;典型的用法是: plot(x, y, type=”n”); text(x, y, names)mtext(text,side=3, line=0,…)在边空添加用text指定的文字,用side指定添加到哪一边(参照 下面的axis());line指定添加的文字距离绘图区域的行数segments(x0, y0,x1, y1)从(x0,y0)各点到(x1,y1)各点画线段arrows(x0, y0,x1, y1, angle= 30,code=2)同上但加画箭头,如果code=2则在各(x0,y0)处画箭头,如 果code=1则在各(x1,y1)处画箭头,如果code=3则在两端都画箭头; angle控制箭头轴到箭头边的角度abline(a,b)绘制斜率为b和截距为a的直线abline(h=y)在纵坐标y处画水平线abline(v=x)在横坐标x处画垂直线abline(lm.obj)画由lm.obj确定的回归线rect(x1, y1, x2, y2)绘制长方形,(x1, y1)为左下角,(x2,y2)为右上角polygon(x, y)绘制连接各x,y坐标确定的点的多边形legend(x, y, legend)在点(x,y)处添加图例,说明内容由legend给定title()添加标题,也可添加一个副标题axis(side, vect)画坐标轴,side=1时画在下边,side=2时画在左边,side=3时画在上边,side=4时画在右边。可选参数at指定画刻度线的位置坐标box()在当前的图上加上边框rug(x)在x-轴上用短线画出x数据的位置locator(n, type=”n”, …)在用户用鼠标在图上点击n次后返回n次点击的坐标(x, y);并可以在点击处绘制符号(type=”p”时)或连线(type=”l”时),缺省情 况下不画符号或连线下面的例子中,使用plot(...,type="n")绘制一个“空白”的图形, 然后用低级函数来添加点,坐标轴,标签等:低级绘图命令R还可以在现有图形(通过高级绘图命令绘制)的基础上增加一些额外的显示,如标题、绘制坐标轴、在特定的位置增加图形(比如辅助线,拟合线)或文字等。这些函数在R中称为低级作图命 令(low-level plotting commands)。一些常用的低级图形命令包括:scatter.smooth(x, y, …)LOESS(局部加权散点平滑)拟合曲线points(x, y)添加点(可以使用选项type=)lines(x, y)同上,但是添加线text(x, y, labels,…)在(x,y)处添加用labels指定的文字;典型的用法是: plot(x, y, type=”n”); text(x, y, names)mtext(text,side=3, line=0,…)在边空添加用text指定的文字,用side指定添加到哪一边(参照 下面的axis());line指定添加的文字距离绘图区域的行数segments(x0, y0,x1, y1)从(x0,y0)各点到(x1,y1)各点画线段arrows(x0, y0,x1, y1, angle= 30,code=2)同上但加画箭头,如果code=2则在各(x0,y0)处画箭头,如 果code=1则在各(x1,y1)处画箭头,如果code=3则在两端都画箭头; angle控制箭头轴到箭头边的角度abline(a,b)绘制斜率为b和截距为a的直线abline(h=y)在纵坐标y处画水平线abline(v=x)在横坐标x处画垂直线abline(lm.obj)画由lm.obj确定的回归线rect(x1, y1, x2, y2)绘制长方形,(x1, y1)为左下角,(x2,y2)为右上角polygon(x, y)绘制连接各x,y坐标确定的点的多边形legend(x, y, legend)在点(x,y)处添加图例,说明内容由legend给定title()添加标题,也可添加一个副标题axis(side, vect)画坐标轴,side=1时画在下边,side=2时画在左边,side=3时画在上边,side=4时画在右边。可选参数at指定画刻度线的位置坐标box()在当前的图上加上边框rug(x)在x-轴上用短线画出x数据的位置locator(n, type=”n”, …)在用户用鼠标在图上点击n次后返回n次点击的坐标(x, y);并可以在点击处绘制符号(type=”p”时)或连线(type=”l”时),缺省情 况下不画符号或连线下面的例子中,使用plot(...,type="n")绘制一个“空白”的图形, 然后用低级函数来添加点,坐标轴,标签等: opar <- par()#备份绘图参数par(bg="lightgray", mar=c(2.5, 1.5, 2.5, 0.25))#设置绘图参数plot(x, y, type="n", xlab="", ylab="", xlim=c(-2, 2),  ylim=c(-2, 2), xaxt="n", yaxt="n")#绘制“空白”图形,设定坐标轴范围rect(-3, -3, 3, 3, col="cornsilk")#修改绘图区域的颜色points(x, y, pch=10, col="red", cex=2)#画点axis(side=1, c(-2, 0, 2), tcl=-0.2, labels=FALSE)#添加坐标轴axis(side=2, -1:1, tcl=-0.2, labels=FALSE)title("How to customize a plot with R (ter)",#添加标题font.main=4, adj=1, cex.main=1)mtext("Ten random values", side=1, line=1, at=1, cex=0.9, font=3)#绘制坐标轴标签mtext("Ten other values", line=0.5, at=-1.8, cex=0.9, font=3)mtext(c(-2, 0, 2), side=1, las=1, at=c(-2, 0, 2), line=0.3,col="blue", cex=0.9)mtext(-1:1, side=2, las=1, at=-1:1, line=0.2, col="blue", cex=0.9)par(opar)#恢复绘图参数
交互式绘图命令有时需要根据用户的想法而不是数据进行绘图,即交互式绘图。R对此有很好的支持,允许用户直接用鼠标在一个图上提取和提交信息。R中最简单、最常用的函数是locator(n, type)。等待用户用鼠标左键点击n个位置,如果设置了type,还可以根据这n个位置直接进行低级绘图。比如:x = rnorm(10)

plot(x)

locator(5,"o")
locator也可以先不绘图,只把用户点击的坐标记录下来:r = locator(2)

r
另一个有意思的交互函数是identify(x, y, labels),可以参考帮助自己学习。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯IVWEB团队的专栏

SVG 快速入门

SVG 全称是 Scalable Vector Graphics,即,矢量图。在 Web 中使用 SVG 可以解决位图放大失真的问题。

5511
来自专栏儿童编程

Processing雁群实验(续)

(1)旋转复杂不规则图形; (2)运用二维数组定义图形; (3)鼠标左右移动控制物体沿 Y 轴旋转; (4)点击鼠标线条变色。

1422
来自专栏IMWeb前端团队

在物理引擎中画圆弧

本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 因为需求的需要,要使用在物理引擎中使用四分之一圆弧,我们来看看...

2438
来自专栏用户2442861的专栏

Python PIL ImageDraw 和ImageFont模块学习

http://blog.csdn.net/dou_co/article/details/17618319

8672
来自专栏为数不多的Android技巧

Xfermode in android

Xfermode有三个实现类:AvoidXfermode, PixelXorXfermode以及PorterDuffXfermode。 前两个类因为不支持硬件加...

1834
来自专栏极客猴

Python 绘图,我只用 Matplotlib(二)

上篇文章,我们了解到 Matplotlib 是一个风格类似 Matlab 的基于 Python 的绘图库。它提供了一整套和matlab相似的命令API,十分适合...

1241
来自专栏懒人开发

(10.5)James Stewart Calculus 5th Edition:Conic Sections

832
来自专栏JackeyGao的博客

使用Python将两张照片透明重叠

透明重叠最主要用的是Image.blend方法(详情请看第二个代码块), 第一个代码块主要是将多个图片剪切到一张大图, 然后用这张大图和另外一张非剪切的大图进行...

2641
来自专栏葬爱家族

Android高德之旅(8)绘制线废话简单的api总结

绘制线会比绘制点稍微复杂点,抛开一些复杂的属性不谈,主要分为三类:实线、虚线、纹理。绘制线在自定义地图中是非常重要的一个环节。

3065
来自专栏深度学习之tensorflow实战篇

Python生成词云图,TIIDF方法文本挖掘: 词频统计,词云图

python中使用wordcloud包生成的词云图。 下面来介绍一下wordcloud包的基本用法。 class wordcloud.WordCloud(fon...

5076

扫码关注云+社区

领取腾讯云代金券