R语言之数据可视化学习记录1:基本绘图系统

时间: 2018-07-31
教程: 慕课网 《R语言之数据可视化》 讲师:Angelayuan
补充内容:图形数据显示类型设置
学习内容: 课程第三章1-4节


数据可视化

R语言可视化的绘图系统主要有三个:基本绘图系统、Lattice绘图系统、ggplot2绘图系统。

1. 基本绘图系统

基本绘图系统包含在graphics包内,其包含许多函数:plot、hist(柱状图)、boxplot(箱线图)、point(画点)、lines(画线)、text(添加文字)、title(命名)、axis(添加坐标轴)。
plot函数格式:plot(x,y,xlab,ylab,lwd,lty,pch,col,…..)
其中x,y为数据,xlab和ylab分别为x和y坐标轴的标签,lwd定义线的宽度,lty定义线的类型,pch定义点的形状,col定义图形颜色,其他重要参数可以通过”?par”进行查看。
par()函数可以用来设置全局参数,参数包括bg(背景颜色)、mar(边距)、las(标签排版:横/竖)、mfrow(画板分为几行几列,按行填充)、mfrow(画板分为几行几列,按列填充)等。
如:
使用hist绘制airquality数据集中风速的柱状图:

hist(airquality$Wind, xlab = "风速")

R语言之数据可视化学习记录1:基本绘图系统_第1张图片
绘制风速的箱线图:

boxplot(airquality$Wind, xlab = "风速", ylab = "速度(mph)")

R语言之数据可视化学习记录1:基本绘图系统_第2张图片
绘制风速各月份的箱线图:

boxplot(Wind~Month, airquality, xlab = "Month", ylab = "Speed(mph)")

R语言之数据可视化学习记录1:基本绘图系统_第3张图片
绘制风速与温度的散点图:

plot(airquality$Wind, airquality$Temp)

R语言之数据可视化学习记录1:基本绘图系统_第4张图片
可以套用with函数来生成风速与温度的散点图:

with(airquality, plot(Wind, Temp))

R语言之数据可视化学习记录1:基本绘图系统_第5张图片
可以看出,当没有设定坐标轴标签时,R默人使用plot函数中数据的名称作为坐标轴的标签。

在图上添加标题:

title(main = "Wind and Temp in NYC")

R语言之数据可视化学习记录1:基本绘图系统_第6张图片
也可以在绘图时直接添加标签:

with(airquality, plot(Wind, Temp, main = "Wind and Temp in NYC"))

使用这句程序所得结果与上述两句程序结果相同。

在plot函数中将参数type设为”n”,可以设置在图形中数据不显示:

with(airquality, plot(Wind, Temp, 
     main = "Wind and Temp in NYC",
     type = "n"))

R语言之数据可视化学习记录1:基本绘图系统_第7张图片
可以看出,所得图形只有一个坐标,而没有数据内容。

参数 含义
type= “p ” 数以点表示
type= “l “ 数据显示以线连接
type= “b “ 数据以点和连接线的形式显示
type= “o “ 数据以线连接,数据点突出显示
type= “h “ 数据以点到x轴的垂直线的形式显示
type= “s “ 数据显示为阶梯图
type= “n “ 不显示数据

在图中添加以红色圆圈表示的9月份的数据:

with(subset(airquality, Month == 9),
     points(Wind, Temp, col = "red"))

R语言之数据可视化学习记录1:基本绘图系统_第8张图片
在图中添加以蓝色圆圈表示的5月份的数据,和用黑色圆圈表示的6、7、8月数据:

with(subset(airquality, Month == 5),
     points(Wind, Temp, col = "blue"))
with(subset(airquality, Month %in% c(6,7,8)),
     points(Wind, Temp, col = "black"))

R语言之数据可视化学习记录1:基本绘图系统_第9张图片
在图中添加回归线(所有数据),并使用legend函数在右上角添加各颜色的说明:

fit <- lm(Temp ~ Wind, airquality)
abline(fit, lwd=2, col = "green")
legend("topright", pch=1,
       col = c("red", "blue","black"),
       legend = c("sep", "May", "Other"))

R语言之数据可视化学习记录1:基本绘图系统_第10张图片
可以看出,图中多了一个绿色的回归线和各颜色说明的标签,其中,使用lm函数求得数据的回归线,并赋予对象fit,使用abline函数生成回归线,lwd定义线粗细为2,col定义颜色为绿色,legend函数中参数”topright”表示右上方,pch定义形状,1为圆圈,2为三角,3为十字等,如果不写该参数,则标签中便不会出现形状。

也可以在图中添加各月份的回归线(9月为红色,5月为蓝色,6,7,8月数据综合起来为黑色):

fit1 <- lm(Temp ~ Wind, airquality, Month ==9)
abline(fit1, lwd=2, col = "red")
fit2 <- lm(Temp ~ Wind, airquality, Month ==5)
abline(fit2, lwd=2, col = "blue")
fit3 <- lm(Temp ~ Wind, airquality, Month %in% c(6,7,8))
abline(fit3, lwd=2, col = "black")

R语言之数据可视化学习记录1:基本绘图系统_第11张图片

> par("bg")
[1] "white"
> par("col")
[1] "black"
> par("mar") #bottom, left, top, right
[1] 5.1 4.1 4.1 2.1
> par("mfrow")
[1] 1 1
> par("mfcol")
[1] 1 1

可以看出,R默人背景为白色,图形颜色为黑色,图形下,左,上,右边距分别为5.1,4.1,4.1,2.1,且画板为一行一列,即一次仅显示一个图形。
使用par函数修改画板为一行两列:

par(mfrow = c(1,2))
hist(airquality$Wind)

R语言之数据可视化学习记录1:基本绘图系统_第12张图片

hist(airquality$Temp)

R语言之数据可视化学习记录1:基本绘图系统_第13张图片
可以看出,修改画板后,一次最多可以显示两个图形,若只有一个图形,则图形仅占画板左边的二分之一。

使用par函数可以将画板恢复为一行一列:

par(mfrow = c(1,1))
hist(airquality$Temp)

R语言之数据可视化学习记录1:基本绘图系统_第14张图片

你可能感兴趣的:(学习记录)