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 此时编号横排
二、绘图常用函数
常用参数
三、低命令绘图参数
参数值
四、实例
> 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)
加入选项,修改风格
> 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"。
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:修改绘图区边界;
低水平命令绘图
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)
五、利用grid和 lattice 包作图
加载包
library(lattice)
添加变量
n <- seq(5, 45, 5)
x <- rnorm(sum(n))
y <- factor(rep(n, n))
做密度图
densityplot (~ x | y)
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")
})