目录:

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

图形示例


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

    > 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. EWM一个仓库号对应ERP多个PLANT的配置

    1. CIF多个DC到EWM系统,创建SCU并配置成仓 2. tx:/sapapo/loc3 对多个DC生成分配模型 3. IMG:分配仓库编号 去掉缺省的授权处理方 4. 维护SCU hierarc ...

  2. (转)TRANSFORM_TEX详解

    原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 特别讲:常见问题回答   本讲会陆续补充一些问题的解答. 问: (1) TRANSFORM_TEX是做什么的 (2)float4 _Main ...

  3. HBase + Kerberos 配置示例(二)

    接上篇<HBase + Kerberos配置示例(一)>,我们继续剩下的配置工作. 环境准备 Hadoop配置 Zookeeper配置 HBase配置 Java测试程序 环境准备 安装ha ...

  4. URLEncode与URLDecode总结与实现

    URLEncode: 用于编码URL字符串,数字和字母保持不变,空格变为'+',其他(如:中文字符)先转换为十六进制表示,然后在每个字节前面加一个标识符%,例如:“啊”字 Ascii的十六进制是0xB ...

  5. 使用LotusScript操作Lotus Notes RTF域

    Lotus Notes RTF域的功能也非常强大,除了支持普通的文本以外,还支持图片.表格.嵌入对象.Http 链接.Notes 链接.附件等等众多的类型.本文将介绍如何使用这些类来灵活操作富文本域. ...

  6. 好老板VS坏老板

    以下是漫画图解: 现在大家应该都能做出正确的判断了吧? 那90后的员工碰上70后的老板又会如何呢? 过去30多年来,基于资源禀赋.行政区划及产业政策等,形成了不同城市发展格局,接下来十年中国经济结构调 ...

  7. ASP.NET MVC 5 局部视图不支持异步问题

    [ChildActionOnly] public async Task<ActionResult> TopLeftFlowPartialView() { var user = Sessio ...

  8. Android studio NDK 编译 "$USE_DEPRECATED_NDK=true" 异常问题解决

    我的项目是https://github.com/leixiaohua1020/simplest_ffmpeg_mobile/tree/master/simplest_ffmpeg_android_st ...

  9. Swift基础--手势识别(双击、捏、旋转、拖动、划动、长按)

    // //  ViewController.swift //  JieUITapGestureRecognizer // //  Created by jiezhang on 14-10-4. //  ...

  10. Openvswitch原理与代码分析(4):网络包的处理过程

      在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用.   stati ...