你好,游客 登录
背景:
阅读新闻

R语言之图形入门

[日期:2014-10-30] 来源:CSDN  作者:王路情 [字体: ]

图形工作

R具有非常强大的绘图功能,看下面代码。

> attach(mtcars)

> plot(wt, mpg)

> abline(lm(mpg~wt))

> title("Regression of MPG on Weight")

> detach(mtcars)

效果图如图1所示。

图1:mtcars数据集中wt-mpg线性回归图

图形保存方法可以用RGUI完成或者写代码保存。例如把上图以pdf格式保存在D:/data目录下,代码如下:

> setwd("E:\\data")

> pdf("wt-mpg.pdf")

> attach(mtcars)

> plot(wt, mpg)

> abline(lm(mpg~wt))

> title("Regresssion of MPG on Weight")

> detach(mtcars)

>dev.off()

> dir()

一个简单实例

数据集,病人对两种药不同剂量的反映,如图2所示。

图2: 病人对两种药不同剂量的反映

程序清单

> dosage <- c(20, 30, 40, 45, 60)

> responseA <- c(16, 20, 27, 40, 60)

> responseB <- c(15, 18, 25, 31, 40)

> plot(dosage, responseA, type="b")

效果图如图3所示。

图3: 不同剂量下,病人对药A的反映图

图像化参数

通过图形化参数定义一个图形的特征(字体、颜色、标题、坐标轴)。利用par()函数指定图形化参数。或者把这些参数至于绘图函数中。现基于两种不同的方式使用图形化参数。

方式一:par()函数

> opar <- par(no.readonly=TRUE)

> par(lty=2, pch=17)

> plot(dosage, responseB, type="b")

> par(opar)

方式二:在绘图函数进行参数设置

> plot(dosage, responseB, type="b", lty=2, pch=17)

两种方式运行后效果一样,如图4所示:

图4:不同剂量下病人对药B的反映图

R绘图常用参数归纳如下。

符号和线型参数,如图5所示

图5:R符号和线型参数

R符号如6所示,线型如图7所示。

图6:R符号

图7:R线型

颜色参数,如图8所示。

图8:R颜色参数

关于R颜色,可以进一步参阅:http://research.stowers-institute.org/efg/R/Color/Chart

文本参数,如图9所示。

图9:文本尺寸参数

字体参数,如图10所示。

图10:字体参数

面板大小和边距参数,如图11所示。

图11:面板大小和边距参数

基于参数化图形的一个实例。

程序清单如下:

> dose <- c(20, 30, 40, 45, 60)

> drugA <- c(16, 20, 27, 40, 60)

> drugB <- c(15, 18, 25, 31, 40)

> opar <- par(no.readonly=TRUE)

> par(pin=c(2, 3))

> par(lwd=2, cex=1.5)

> par(cex.axis = .75, font.axis=3)

> plot(dose, drugA, type="b", pch=19, lty=2, col="red")

> plot(dose, drugB, type="b", pch=23, lty=6, col="blue", bg="green")

> par(opar)

图形修饰

图形修饰包括添加文本、自定义坐标轴和说明。例如:

>plot(dose,drugA,type="b",col="red",lty=2,pch=2,lwd=2,

main="Clinical Trials for Drug A",sub="This is hypothetical data", 

xlab="Dosage", ylab="Drug Resoponse", 

xlim=c(0,60), ylim=c(0, 70))

效果图如图12所示。

图12:图形修饰演示图

图形修饰主要又如下几个方面。

方面一:标题,使用title()函数。

方面二:坐标轴,使用axis()函数。

方面三:参照线,使用abline()函数。

方面四:说明,使用legend()函数。

方面五:文字,使用text()函数。

图形合并

R使用函数par()或者layout()实现图形合并。关于每种方法,演示如下:

方法一:基于par()图形合并

程序清单:

> rm(list=ls())

> attach(mtcars)

> opar <- par(no.readonly=TRUE)

> par(mfrow=c(2,2))

> plot(wt,mpg, main="Scatterplot of wt vs. mpg")

> plot(wt,disp, main="Scatterplot of wt vs disp")

> hist(wt, main="Histogram of wt")

> boxplot(wt, main="Boxplot of wt")

> par(opar)

> detach(mtcars)

效果图如图13所示。

图13:基于par()图形合并

方法二:基于layout()图形合并

程序清单:

> layout(matrix(c(1,1,2,3), 2, 2, byrow=TRUE))

> hist(wt)

> hist(mpg)

> hist(disp)

> detach(mtcars)

效果图如图14所示。

图14:基于layou()图形合并

总结

1 图形创建与保存

2 图形修饰与合并





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款