这篇简直是白写了,写到后面发现ggplot明显更好用

3.1 使用图形

attach(mtcars)
plot(wt, mpg)  #x轴wt,y轴pg
abline(lm(mpg ~ wt))  #画线拟合
title("Regression of MPG on Weight")
detach(mtcars)

R语言中画图只有一幅,如果要画多幅,用dev.new()

3.2 例子

dose <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
plot(dose, drugA, type = "b")  #type="b"是点线图

3.3 图形参数

par():修改图形参数

3.3.1 符号和线条

pch:指定绘制点时使用的符号

cex:指定符号大小,默认为1,1.5表示放大为默认值的1.5倍

lty:指定线条类型,linetype,真难记啊直接写完整英文单词不好吗

lwd:指定线条宽度,linewidth

3.3.2 颜色

col:绘图颜色,col=c("red","blue"),

col.axis:坐标轴刻度文字的颜色

col.lab:坐标轴标签的颜色

col.main:标题颜色

col.sub:副标题颜色

fg:图形前景色

bg:图形背景色

colors():返回所有颜色名称

返回连续形颜色,rainbow(),heat.colors(),terrain.colors(),topo.colors(),cm.colors(),gray()

n <- 10
mycolors <- rainbow(n)
pie(rep(1, n), labels = mycolors, col = mycolors)
mygrays <- gray(0:n/n)
pie(rep(1, n), labels = mygrays, col = mygrays)

3.3.3 文本属性

cex:文本大小

cex.axis:坐标轴刻度文字的缩放倍数

cex.lab:坐标轴名称的缩放倍数

cex.main:标题的缩放倍数

cex.sub:副标题的缩放倍数

font:字体,1常规,2粗体,3斜体,4粗斜体,5=符号字体

font.axis

font.lab

font.main

font.sub

ps:字体磅值

3.3.4 图形尺寸与边界尺寸

pin:以英寸表示图形尺寸

mai:以数值向量表示的边界大小,顺序为下左上右,单位是英寸

mar:以数值向量表示的边界大小,单位是英分

3.4 添加文本,自定义坐标轴和图例

main:标题

sub:副标题

xlab/ylab:X与Y轴名称

xlim/ylim:X与Y轴范围

如下图
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 Response",

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

3.4.1 标题

title():

title(main="main text",sub="sub title",xlab="x axis label",ylab="y axis label")

3.4.2 坐标轴

axis()

如下代码

x <- c(1:10)
y <- x
z <- 10/x
opar <- par(no.readonly = TRUE)
par(mar = c(5, 4, 4, 8) + 0.1)

plot(x, y, type = "b", pch = 21, col = "red", yaxt = "n", lty = 3, ann = FALSE)
lines(x, z, type = "b", pch = 22, col = "blue", lty = 2)
axis(2, at = x, labels = x, col.axis = "red", las = 2)
axis(4, at = z, labels = round(z, digits = 2), col.axis = "blue", las = 2, cex.axis = 0.7, tck = -0.01)
mtext("y=1/x", side = 4, line = 3, cex.lab = 1, las = 2, col = "blue")#在图形边界添加文本
title("An Example of Creative Axes", xlab = "X values", ylab = "Y=X")
par(opar)

3.4.3 参考线

abline(h=yvalues,v=xvalues)

3.4.4 图例

lengend()

如下代码

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(lwd = 2, cex = 1.5, font.lab = 2)
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 Response")
lines(dose, drugB, type = "b", pch = 17, lty = 2, col = "blue")
abline(h = c(30), lwd = 1.5, lty = 2, col = "grey")
library(Hmisc)
minor.tick(nx = 3, ny = 3, tick.ratio = 0.5)
legend("topleft", inset = 0.05, title = "Drug Type",
c("A", "B"), lty = c(1, 2), pch = c(15, 17), col = c("red",
"blue"))
par(opar)

3.4.5 文本标注

text():在绘图区域内添加文本

mtext():在四个边界添加文本

3.5 图形的组合

par(mfrow=c(2,2))  #一个图中放4个小图,2行2列

layout(matrix(c(1, 1, 2, 3), 2, 2, byrow = TRUE))  #一个图中放了3个小图,第一行1个,第二行2个

R语言实战读书笔记(三)图形初阶的更多相关文章

  1. R语言实战读书笔记(二)创建数据集

    2.2.2 矩阵 matrix(vector,nrow,ncol,byrow,dimnames,char_vector_rownames,char_vector_colnames) 其中: byrow ...

  2. R语言实战读书笔记(六)基本图形

    #安装vcd包,数据集在vcd包中 library(vcd) counts <- table(Arthritis$Improved)counts # 垂直barplot(counts, main ...

  3. R语言实战读书笔记1—语言介绍

    第一章 语言介绍 1.1 典型的数据分析步骤 1.2 获取帮助 help.start() help("which") help.search("which") ...

  4. R语言实战读书笔记(八)回归

    简单线性:用一个量化验的解释变量预测一个量化的响应变量 多项式:用一个量化的解决变量预测一个量化的响应变量,模型的关系是n阶多项式 多元线性:用两个或多个量化的解释变量预测一个量化的响应变量 多变量: ...

  5. R语言实战读书笔记2—创建数据集(上)

    第二章 创建数据集 2.1 数据集的概念 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和变量(variable) ,数据库分析师则称其为记录(record)和字 ...

  6. R语言实战读书笔记(五)高级数据管理

    5.2.1 数据函数 abs: sqrt: ceiling:求不小于x的最小整数 floor:求不大于x的最大整数 trunc:向0的方向截取x中的整数部分 round:将x舍入为指定位的小数 sig ...

  7. R语言实战读书笔记(四)基本数据管理

    4.2 创建新变量 几个运算符: ^或**:求幂 x%%y:求余 x%/%y:整数除 4.3 变量的重编码 with(): within():可以修改数据框 4.4 变量重命名 包reshape中有个 ...

  8. R语言实战读书笔记(一)R语言介绍

    1.3.3 工作空间 getwd():显示当前工作目录 setwd():设置当前工作目录 ls():列出当前工作空间中的对象 rm():删除对象 1.3.4 输入与输出 source():执行脚本

  9. R语言实战读书笔记(十三)广义线性模型

    # 婚外情数据集 data(Affairs, package = "AER") summary(Affairs) table(Affairs$affairs) # 用二值变量,是或 ...

随机推荐

  1. ASP.NET MVC 从IHttp到页面输出

    MVCHandler应该算是MVC真正开始的地方.MVCHandler实现了IHttpHandler接口,ProcessRequest便是方法入口. MVCHandler : IHttpHandler ...

  2. js prompt函数使用例子

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. 将HTMLCollection/NodeList/伪数组转换成数组

    这里把符合以下条件的对象称为伪数组(ArrayLike) 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments . ...

  4. URAL 1152. False Mirrors (记忆化搜索 状压DP)

    题目链接 题意 : 每一颗子弹破坏了三个邻近的阳台.(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害. 思路 : 状压,数据不 ...

  5. HTTP常用的状态码

    一.200状态码: 成功2××:成功处理了请求的状态码. 1.200 :服务器已成功处理了请求并提供了请求的网页. 2.204:服务器成功处理了请求,但没有返回任何内容. 二.300状态码: 重定向3 ...

  6. linux kill命令详解

    1.命令格式: kill[参数][进程号] 2.命令功能: 发送指定的信号到相应进程.不指定型号将发送SIGTERM(15)终止指定进程.如果任无法终止该程序可用“-KILL” 参数,其发送的信号为S ...

  7. java编译错误:varargs 方法的非 varargs 调用

    转自:http://www.blogjava.net/ideame/archive/2007/03/23/105849.html 警告: 最后一个参数使用了不准确的变量类型的 varargs 方法的非 ...

  8. JLINK固件丢失或升级固件后提示Clone的解决办法

    J-LINK V8固件烧录指导 J-LINK 是使用过程中,如果内部固件意外损坏或丢失,请参考下面操作步骤说明,重新烧录JLINK固件. 安装固件烧录软件 请ATMEL官方网址下载AT91-ISP下载 ...

  9. BASM遵循的规则

    任何情况下,在寄存器的使用上,BASM遵循如下的规则: ASM 语句执行过程中,必须保存EDI.ESI.ESP.EBP.EBX 的值(5个寄存器,意思是可以用,但最后得恢复成原模原样). ASM ...

  10. 【Spring开发】—— Spring Core

    原文:[Spring开发]-- Spring Core 前言 最近由于一些工作的需要,还有自己知识的匮乏再次翻开spring.正好整理了一下相关的知识,弥补了之前对spring的一些错误认知.这一次学 ...