如何使用R语言画图
学习大数据,难免要学习R语言进行画图,那么如何使用R语言画图呢?小编就来讲一讲!
操作方法
- 01
查看绘图常用函数
- 02
查看低命令绘图参数
- 03
认识参数值
- 04
实例讲解! > 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)
- 05
加入选项,修改风格> 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"。
- 06
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:修改绘图区边界;
- 07
低水平命令绘图 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)
- 08
利用grid和 lattice 包作图 加载包 library(lattice) 添加变量 n <- seq(5, 45, 5)x <- rnorm(sum(n))y <- factor(rep(n, n)) 做密度图 densityplot (~ x | y)
- 09
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")})