目录:

  • 图形示例
  • 图形参数
  • 符号、线条
  • 颜色
  • 文本属性
  • 尺寸与边界
  • 自定义标题
  • 自定义坐标轴
  • 图例
  • 文本标注
  • 图形组合

图形示例


  • 如下代码描述病人对两种药物五个剂量水平上的响应情况

    > mydata <- data.frame(dose=numeric(0),drugA=numeric(0),drugB=numeric(0))
    > fix(mydata)
    > mydata
    > save(mydata,file = "mydata.rda")
    dose drugA drugB
    1 20 16 15
    2 30 20 18
    3 40 27 25
    4 45 40 31
    5 60 60 40
    >
  • 创建图形,代码如下:
    with(mydata,{
    plot(dose,drugA,type="b")
    })
  • 图形如下:

图形参数


  • 通过修改参数,可对图形的字体、颜色、坐标轴、标签进行进行修改
  • par(optionname=value, optionname = value ......) , 用这种方式设定的参数除非被修改,否则在会话结束前一直有效
  • par() 生成一个含有当前图形参数设置的列表,添加参数 no.readonly = TRUE 生成一个可修改的当前图形参数列表
  • 如下图:使用虚线和实心三角点,示例代码如下:
    load("mydata.rda")
    par(no.readonly = TRUE)
    par(lty=2)
    par(pch=17) #这两句等价于:par(lty=2,pch=17)
    with(mydata,{
    plot(dose,drugA,type="b") #使用par参数等价于plot(dose,drugA,type="b",lty=2,pch=17)   
    })
  • 生成图例如下:

 符号和线条


  1. pch:  指定绘制点时使用的符号,如下图:

  2. cex: 指定符号的大小,是一个数值,表示绘图符号相对于默认大小的缩放比例
  3. ltype: 指定线条类型,如下图:
  4. lwd: 指定线条宽度,相于于默认值1的倍数,如:2, 0.5等

 颜色


  • R中,可通过颜色下标(如:col =1 )、颜色名称(col="Red")、十六进制(col="#FFFF")、RGB值(col=rgb(1,1,1))、HSV值(col=hsv(0,0,1))来指定颜色
  • 颜色参数如下:
    1. col:            默认的绘图颜色
    2. col.axis:    坐标轴刻度文字的颜色
    3. col.lab:     坐标轴标签(名称)的颜色
    4. col.main:  标题颜色
    5. col.sub:    副标题颜色
    6. fg:            图形的前景色
    7. bg:           图形的背景色

文本属性


  • 指定文本大小参数
    1. cex.axis:          坐标刻度文字的缩放倍数
    2. cex.lab:           坐标标签的缩放倍数
    3. cex.main:        标题的缩放倍数
    4. cex.sub:          副标题的缩放倍数
  • 指定文件字体样式:
    1. font:             整数,1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体
    2. font.axis:      坐标刻度文字的字体样式
    3. font.lab:      坐标标签的字体样式
    4. font.main:     标题的字体样式
    5. font.sub:       副标题的字体样式
    6. ps:                字体磅值

尺寸与边界


  • 尺寸与边界参数:
    1. pin:       以英寸表示图形的尺寸(宽和高)
    2. mai:      在数值向量表示边界大小,顺序为:下、左、上、右,单位为英寸
    3. mar:      在数值向量表示边界大小,顺序为:下、左、上、右,单位为英分(一英分 = 1/12 英寸,相当于0.21厘米)
  • 示例代码及图例:

    setwd("E:\\R")
    load("mydata.rda")
    par(no.readonly = TRUE)
    par(pin=c(2,3),lwd=2,cex=1.5,cex.axis=0.75,font.axis=3)
    with(mydata,{
    plot(dose,drugA,type="b",pch=19,lty=2,col="red")
    plot(dose,drugB,type="b",pch=23,lty=6,col="blue",bg="green")
    })
  • 图形大小宽高为:2英寸、3英寸,线条宽度为默认2位、符号为默认1.5倍、坐标轴文字设置为粗体,大小缩小为75%,par设定的参数对两张图均有效,plot中的参数仅对特定图形有效

自定义标题


  • title()一般用于添加信息到一个默认标题和坐标轴标签被 ann=FALSE 选项移除的图形中
  • 示例代码和图形:
    load("mydata.rda")
    with(mydata,{
    plot(dose,drugA,type="b",pch=19,lty=2,ann=FALSE)
    title(main="hello",sub="demo",col.main="red",col.sub="green",xlab = "jl",ylab="fy")
    })
  • 示例结果

自定义坐标轴


  • axis()用来自定义坐标轴,而非使用R中的默认坐标田轴
  • 语法: axis(side, at = NULL, labels = TRUE, pos = NA, las=, ...)
  • 参数说明如下:
    1. side:   表示在图形的哪边绘制坐标轴: 1=下,2=左,3=上,4=右
    2. at:      一个数值型向量,表示需要绘制刻度线的位置
    3. labels: 字符向量,表示置于刻度线旁边的文字标签
    4. las:     标签是否平行于(=0)或垂直于(=2)于坐标轴
  • 示例代码:

    with(mydata,{
    plot(dose,drugA,type="b",pch=19,lty=2,yaxt="n")
    axis(2,at=c(20,30,40,50,60),labels = c('A','B','C','D','E'),las=2,col="blue")
    })
  • 注意:创建自定义坐标时,应当禁用自动生成的坐标轴
    1. axes = FALSE 将禁用全部的坐标轴(包括坐标轴框架线、除非添加参数 frame.plot = TRUE)
    2. xaxt = "n" 和 yaxt = "n" 将分别禁用X轴和Y轴(会留下框架线、只是去除了刻度)

 图例


  • legend(): 当图形中有多组数据时,图例可帮助每个图形代表的数据
  • 语法:legend(location,title,legend,........)
  • 参数说明:
    1. location:   图例显示位置,可使用关键字:bottom、bottomleft、left、topleft、top、topright、right、bottomright、center, 使用 inset=指定图例内侧移动的大小 (以绘图区域大小分数表示)
    2. title:          可选项,图例标题
    3. legend:      图例标签组成的字符串向量
    4. ......
  • 示例代码:

    setwd("E:\\R")
    load("mydata.rda")
    dose <- mydata$dose
    drugA <- mydata$drugA
    drugB <- mydata$drugB
    plot(dose,drugA,type="b", pch=15,lty=1,col="red",ylim = c(0,60),main="Drug A vs.Drug B",xlab = "Drug dosage",ylab="drug Repsponse")
    lines(dose,drugB,type = "b",pch=17,lty=2,col="blue")
    abline(h=c(30),lty=2,lwd=1.5,col="gray")
    legend("topleft",inset = 0.05, title = "drug Type",legend = c("A","B"),lty=c(1,2),pch=c(15,17),col=c("red","blue"))
  • 展现结果如下图:
  • abline(): 参考线函数,语法:abline(h=yvalues, v=xvalues)

文本标注


  • text():   向绘图区域内添加文本
  • mtext(): 向图形的四个边角之一添加文本
  • 语法: text(location, "text to place", pos, .....)
  • 参数解释:
    1. location:   文本的位置参数
    2. pos:           文本相对于位置参数的方位,1=下,2=左,3=上,4=右, 可同时配合参数 offset=作为偏移量
  • 示例代码:

    wt <- mtcars$wt
    mpg <- mtcars$mpg
    plot(wt,mpg,main="Mileage vs. Car weight",xlab="weight",ylab="Mileage",pch=18,col="blue")
    text(wt,mpg,row.names(mtcars),cex = 0.5, pos=4,offset = 0.4,col="red")
  • 显示效果图如下:

图形组合


  • 使用par() 、layout()比较容易组合多幅图为一幅总括图
  • par()使用mfrow=c(nrows,ncols) 创建按行填充的图形矩阵, mfcol=c(nrows,ncols) 按列填充矩阵
  • 示例代码:
    attach(mtcars)
    opar <- par(no.readonly = TRUE)
    par(mfrow=c(2,2))
    plot(wt,mpg,main="Demo1")
    plot(wt,disp,main="Demo2")
    hist(wt,main="demo3")
    boxplot(wt,main="demo4")
    par(opar)
    detach(mtcars)
  • 结果示例:
  • layout() 调用 layout(mat),其中 mat是一个矩阵,它指定要组合的多个图形所在的位置
  • 示例代码:
    attach(mtcars)
    layout(matrix(c(1,1,2,3),nrow = 2,ncol = 2,byrow = TRUE))
    hist(wt,main = "demo1")
    hist(mpg,main = "demo2")
    hist(disp,main = "demo3")
    detach(mtcars)
  • 示例结果显示

R提高篇(二): 图形初阶的更多相关文章

  1. R语言实战(一)介绍、数据集与图形初阶

    本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章       R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...

  2. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...

  3. R语言-图形初阶

    在本节中,主要目的是如何使用R语言做出简单的图形 案例1:做出wt和mpg之间的关系 attach(mtcars) plot(wt,mpg) abline(lm(mpg~wt)) title('Reg ...

  4. java提高篇(二)-----理解java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  5. (转)java提高篇(二)-----理解java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  6. 《R语言实战》读书笔记--第三章 图形初阶(二)

    3.4添加文本.自定义坐标轴和图例 很多作图函数可以设置坐标轴和文本标注.比如标题.副标题.坐标轴标签.坐标轴范围等.需要注意的是并不是所有的绘图函数都有上述的参数,需要进行验证.可以将一些默认的参数 ...

  7. 吴裕雄--天生自然 R语言开发学习:图形初阶(续二)

    # ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...

  8. R语言实战读书笔记(三)图形初阶

    这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...

  9. 《R语言实战》读书笔记--第三章 图形初阶(一)

    3.1使用图形 可以使用pdf等函数将图形直接保存在文件中.在运用attach和detach函数的使用中经常出现错误,比如命名重复的问题,所以,应该尽量避免使用这两个函数. plot是一般的画图函数, ...

随机推荐

  1. ELK——Elasticsearch 搭建集群经验

    本文内容 背景 ES集群中第一个master节点 ES slave节点 本文总结 Elasticsearch(以下简称ES)搭建集群的经验.以 Elasticsearch-rtf-2.2.1 版本为例 ...

  2. 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库

    本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...

  3. 源代码安装 MySQL 5.6.28

    本文内容 创建 MySQL 用户和组 解压 MySQL 源代码包 生成配置安装文件 编译和安装 MySQL 配置文件 创建 MySQL 授权表 MySQL 目录授权 启动 MySQL 验证 MySQL ...

  4. linux上挂载windows共享文件夹

    linux上挂载windows共享文件夹 1.共享windows目录 挂载之前得创建一个有password的用户(当前用户也能够),并将你要挂载的目录进行共享,并赋予读写权限 如图. watermar ...

  5. SVM实现多分类的三种方案

    SVM本身是一个二值分类器 SVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器. 目前,构造SVM多类分类器的方法主要有两类 (1)直接法,直接在目标函数上进行修改,将 ...

  6. Spring源码追踪2——xml解析入口

    解析xml节点入口 org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDe ...

  7. 使用hexo在github上写blog

    使用hexo在github上写blog 安装nodejs http://nodejs.org/ 安装hexo npm install -g hexo 创建bolg文件夹 安装完成后在自己的工作目录创建 ...

  8. 配置算法(第4版)的Java编译环境

    1. 下载 1.1 JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html选择“Windows x64 180.5 ...

  9. [转]LINQ之路系列博客导航

    分享一个学习Linq的好博客:Linq之路

  10. getRequestURI,getRequestURL的区别

    转自:http://www.cnblogs.com/JemBai/archive/2010/11/10/1873764.html test1.jsp======================= &l ...