黄利东
06/05/2021
以R语言自带的mtcars数据集为例
修改类型
增加一个type参数,即可修改图形的类型了
图9-1:plot绘图类型
cex : 修改点图中点的大小 lwd :修改线图中线的粗细
pch: 修改点的类型
lty :修改线条的类型
图9-2:plot绘图所用的点类型
图9-3:plot绘图所用的线类型
col: 设置颜色
-col: 取值可以是颜色名称如“blue”,RGB值如rgb(0,0,1),颜色代码如“#0000FF”
-运行colours()可以获取颜色的名称,总共有657种
-运行rainbow(n)可以获得n种彩虹色
main:设置主标题
sub:设置次标题
xlab:设置x轴标题
ylab:设置y轴标题
> plot(mtcars$wt, mtcars$mpg,
+ cex=3,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon"
+ )cex.axis : 坐标轴刻度文字大小
cex.lab: 坐标轴标题文字大小
cex.main : 主标题文字大小
cex.sub :次标题文字大小
font.axis : 设置坐标刻度字体,1常规字体,2加粗字体,3斜体字,4斜体加粗
font.lab:设置坐标轴标题字体,取值同font.axis
font.main :设置主标题字体,取值同font.axis
font.sub :设置次标题字体,取值同font.axis
family:设置字体样式系列,family = ‘serif’,family = ‘sans’,family = ‘mono’
ann = FALSE : 设置之后即可不显示原标题
title() : 使用title()函数可以为图形另外设置标题,其参数与plot()函数中设置标题的参数相同
> plot(mtcars$wt, mtcars$mpg,
+ cex=3,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon",
+ ann=F
+ )
>
> plot(mtcars$wt, mtcars$mpg,
+ cex=3,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon",
+ ann=F
+ )
> title(xlab = "Weight",
+ col.lab = "orange",
+ cex.lab = 1.5, font.lab = 3)fram.plot = FALSE : 隐藏框架线
xaxt = “n” : 隐藏X轴,会留下框架
yaxt = “n” : 隐藏Y轴,会留下框架
axes=FALSE:隐藏所有坐标轴及框架线
xlim: 设置x轴取值范围
ylim: 设置y轴取值范围
> plot(mtcars$wt, mtcars$mpg,
+ cex=1,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon",
+ ylim=c(0,35),
+ xlim=c(0,6)
+ )通过par()函数进行调节
no.readonly = TRUE : 设置画板的参数为可修改状态
pin: 以英寸表示的图形尺寸(宽和高)
mai: 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸
mar: 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分。默认(5,4,4,2)+ 0.1
> opar <- par(no.readonly = TRUE)
> par(pin = c(3,5), mar = c(5,8,2,6))
>
> plot(mtcars$wt, mtcars$mpg,
+ cex=1,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon",
+ ylim=c(0,35),
+ xlim=c(0,6)
+ )通过abline()函数添加
参数
v : 垂直参考线的位点
h : 水平参考线的位点
lty: 参考线的样式
col:参考线的颜色
> plot(mtcars$wt, mtcars$mpg,
+ cex=1,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon",
+ ylim=c(0,35),
+ xlim=c(0,6)
+ )
> abline(v = seq(0,6,1), h = seq(0,35,5), lty = 3, col = "blue")text()向绘图区域内部添加文本
text(x, y , labels , pos , cex , col )
x: 标注位点的横坐标
y : 标注位点的纵坐标
labels: 所要添加的标注内容
pos: 标注所在相对位置,1,2,3,4 分别代表下,左,上,右
cex: 字体大小
col: 字体颜色
mtext()向图形四个边界之一添加文本
labels : 所要添加的标注内容
side : 1,2,3,4分别代表下,左,上,右四个边界
line : 相对边界线的偏移距离
las : 标注文字的方向,0,1,垂直或水平
使用par()中的mfrow与mfcol参数组合图形
> attach(mtcars)
> opar <- par(no.readonly = TRUE)
> par(mfrow = c(2,2))
> plot(wt, mpg,
+ cex=1,pch=1,col=rainbow(10),
+ xlab = "Weight",
+ ylab="Miles per gallon",
+ ylim=c(0,35),
+ xlim=c(0,6)
+ )
> abline(v = seq(0,6,1), h = seq(0,35,5), lty = 3, col = "blue")
> hist(mpg)#频率图
> plot(am,mpg)#散点图
> plot(as.factor(am),mpg)#柱形图使用函数layout()组合图形
mat : 一个矩阵,设置图形的总体布局
widths: 向量,设置图形矩阵中每列相对宽度
heights: 向量,设置图形矩阵中每行的相对高度
> attach(mtcars)
> layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))
> plot(wt~mpg)
> hist(mpg)
> plot(as.factor(am),mpg)fig
整个画布大可以理解为fig = c(0,1,0,1), 向量中的4个数依次代表:x轴起始位置0,x轴结束位置1,y轴起始位置0,y轴结束位置1
把图形摆放在画面由半部分,设置fig = c(0.5,1,0,1)
把图放在右上四分之一的位置,设置fig = c(0.5,1,0.5,1)
> attach(mtcars)
> opar <- par(no.readonly=TRUE)
> par(fig=c(0, 0.8, 0, 0.8))
> plot(wt, mpg,
+ xlab="Miles Per Gallon",
+ ylab="Car Weight")
> par(fig=c(0, 0.8, 0.55, 1), new=TRUE)#new 表示在原有图形上加图
> boxplot(wt, horizontal=TRUE, axes=FALSE)
> par(fig=c(0.65, 1, 0, 0.8), new=TRUE)
> boxplot(mpg, axes=FALSE)
> mtext("Enhanced Scatterplot", side=3, outer=TRUE, line=-3)课堂练习:生成二维随机正态数,分别绘制数值散点图和边缘分布
> set.seed(123)
> x=rnorm(500)
> set.seed(110)
> y=rnorm(500)
> opar <- par(no.readonly=TRUE)
> par(fig=c(0, 0.8, 0, 0.8))
> plot(x,y)
> par(fig=c(0, 0.8, 0.55, 1), new=TRUE)
> plot(density(x),axes=F,frame.plot=F, xlab="", ylab="",main="")
> par(fig=c(0.65, 1, 0, 0.8), new=TRUE)
> plot(density(y)$y,density(y)$x,axes=F,frame.plot=F, xlab="", ylab="",main="",type = "l")