R语言画图

一、画图的简单命令

R绘图 gemo(graphics)
demo(persp)
x11() windows()打开绘图窗口
?device 查看绘图列表
dev.list() 显示打开装置的列表
> dev.set() 改变当前装置
dev.off() 关闭画图装置
> split.screen(c(1, 2)) 分割当前绘图装置
earse.screen()删除最后绘制的图形
layout() 把当前窗口分割为多个部分,图形连续的显示
layout.show() 查看分割后的
byrow=TRUE 此时编号横排

二、绘图常用函数

R语言画图-风君雪科技博客

常用参数

R语言画图-风君雪科技博客

三、低命令绘图参数

R语言画图-风君雪科技博客

参数值

R语言画图-风君雪科技博客

四、实例

> x<-rnorm(10)
> y<-rnorm(10)
> x
[1] 1.00836267 0.79137623 2.03211090 0.10294401 0.07619495 1.91956132 0.13484228 0.38414578 0.62028349 0.29640332
> y
[1] 0.2357669 1.1469255 -0.9895425 -1.7805297 0.4643383 0.3902600 -0.3774699 0.3367386 1.1519940 -0.3744504
> plot(x,y)

R语言画图-风君雪科技博客

加入选项,修改风格
> 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=0.4,
+ main=”How to customize a plot with R”, las=1, cex=1.5)

// bty=”l”, tcl=0.4,表示给出修改的意义;

bty控制图形边框形状,可用的值为: “o”, “l”, “7”, “c”, “u” 和”]” (边框和字符 的外表相像);这些字符本身的形状对应着边框样式,比如(默认值)o表示四条边都显示,而c表示不显示右侧边如果bty=”n”则不绘制边框;

tcl 坐标轴刻度线的高度;取一个与文本行高的比例值;正负值意义类似tck,默认值为-0.5,即向外画线,高度为半行文本高;观察图3.1左下角小图的坐标轴刻度线

cex控制缺省状态下符号和文字大小的值,用于表示对默认的绘图文本和符号放大多少倍。需要注意一些绘图函数如plot.default等也有一个相同名字的参数,但是此时表示在函数par()的参数cex的基础上再放大多少倍,此外还有函数points等接受一个数值向量为参数。默认值为1,如果设为1.5,则表示比默认大小大50%,若设为0.5,则表示比默认值小50%。

cex.axis 坐标轴刻度标记的缩放倍数

cex.lab 坐标轴标题的缩放倍数

cex.main 图主标题的缩放倍数

cex.sub 图副标题的缩放倍数

col 图中符号(点、线等)的颜色,与cex参数类似,具体的细节颜色也可以通过如下参数设置:

col.axis 坐标轴刻度标记的颜色

col.lab 坐标轴标题的颜色

col.main 图主标题的颜色

col.sub 图副标题的颜色

cin,这是一个只读参数,不能进行修改。以形式(width,height)返回字体大小,单位为英寸。这和参数cra的作用一样,只是测量单位不同。

col,用于设定默认的绘图颜色

col.axis。

坐标轴刻度值的颜色,默认为”black”。

R语言画图-风君雪科技博客

par()函数修改参数命令

opar <- par()
par(bg=”lightyellow”, col.axis=”blue”, mar=c(4, 4, 2.5, 0.25))
plot(a, b, xlab=”Ten random values”, ylab=”Ten othervalues”,xlim=c(-2, 2), ylim=c(-2, 2),
pch=22, col=”red”, bg=”yellow”,bty=”l”, tcl=-.25, las=1, cex=1.5)
title(“How to customize a plot with R (bis)”, font.main=3, adj=1)

mar:修改绘图区边界;

R语言画图-风君雪科技博客

低水平命令绘图

opar <- par()
par(bg=”lightgray”, mar=c(2.5, 1.5, 2.5, 0.25))
plot(a, b, type=”n”, xlab=””, ylab=””, xlim=c(-2, 2),//type=”n”,不画出点
ylim=c(-2, 2), xaxt=”n”, yaxt=”n”)//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)//x轴
axis(side=2, -1:1, tcl=-0.2, labels=FALSE) //y轴
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语言画图-风君雪科技博客

五、利用grid和 lattice 包作图

加载包

library(lattice)

添加变量

n <- seq(5, 45, 5)
x <- rnorm(sum(n))
y <- factor(rep(n, n))

做密度图

densityplot (~ x | y)

R语言画图-风君雪科技博客

densityplot(~ x | y, panel = function(x, …) {
panel.densityplot(x, col=”DarkOliveGreen”, …)
panel.mathdensity(dmath=dnorm,args=list(mean=mean(x), sd=sd(x)),
col=”darkblue”)
})

R语言画图-风君雪科技博客

本性的苏醒,往往在遭遇真实之后。