zoukankan      html  css  js  c++  java
  • R实战读书笔记四

    第三章 图形入门

    本章概要

    1 创建和保存图形

    2 定义符号、线、颜色和坐标轴

    3 文本标注

    4 掌控图形维数

    5 多幅图合在一起

    本章所介绍内容概括例如以下。

    一图胜千字,人们从视觉层更易获取和理解信息。

    图形工作

    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 图形修饰与合并

    參考资料

    王路情博客

  • 相关阅读:
    HTML中的文本标签
    Java 数组的创建
    JavaScript实现LUHN算法验证银行卡号有效性
    JavaScript实现HTML页面集成QQ空间分享功能
    JavaScript中的三种弹出框的区别与使用
    Maven 项目中的 pom.xml 文件内容说明
    FTPClient 中 FTPClient.changeWorkingDirectory(filePath) 代码一直返回 false
    Eclipse 中 Debug 时鼠标悬停无法查看变量值
    Innodb ,MyISAM
    tomcat jetty
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5152361.html
Copyright © 2011-2022 走看看