导图社区 R语言绘图制作
这是一篇关于R语言绘图制作的思维导图,主要内容有绘制图形的定义、直方图、柱状图、饼图。
编辑于2022-05-15 20:27:49R语言绘图制作
01.绘制基础图形
定义:分析数据第一件要做的事情就是观察它。对于每个变量需要注意的是最常见的值,值域,不寻常的观测,多个变量的关系,是否符合模型假设等,R提供了丰富的数据可视化函数来展示数据。
一.直方图
直方图(Histogram)又称质量分布图,是统计报告图的一种,由一系列高度不等的纵向条纹或者线段表示数据分布的情况,一般用横轴表示数据所属类别,纵轴表示数量或者占比。用直方图可以比较直观地看出产品质量特性的分布状态,便于判断其总体质量分布情况。
优点
直方图可以发现分布表无法发现的数据模式,样本的频率分布和总体的分布。 在R中,hist函数可用于绘制直方图,显示连续数据的分布情形。hist函数的具体用法如下所示。 hist(x,breaks= ,freq=,...)
hist绘画函数的使用
01.第一块代码
data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data) #重复序列生成
02.第二块代码
data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5))#该参数的指定格式有很多种 第一种: 指定一个向量,给出不同的断点
03.第三块代码
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), freq = T, main = "freq = T") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), freq = F, main = "freq = F")
04.第四块代码
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), probability = T, main = "probability = T") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), probability = F, main = "probability = F")
05.第五块代码
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), labels = c("A", "B", "C"))
06.第六块代码
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), axes = T, main = "axes = T") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), axes = F, main = "axes = F")
07.第七块代码
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = "pink") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = rainbow(3))
08.第八块代码
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = rainbow(3), border = NA)
09.第九块代码
par(mfrow = c(1, 3)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 1, main = "density = 1") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 2, main = "density = 2") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 3, main = "density = 3")
10.第十块代码
par(mfrow = c(1, 3)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 2, angle = 45, main = "angle = 45") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 2, angle = 90, main = "angle = 90") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 2, angle = 180, main = "angle = 180")
hist函数
data<-c(rep(1,10),rep(2,5),rep(5,6)) hist(data)
par(mforw=c(1,2))#代表着生产图形的数量
data<-c(rep(1,10),rep(2,5),rep(3,6))#代表生产各种序数
hist(data,breaks=c(0.5,1.5,2.5,3.5),freq=T,main="大家后")#breaks就是节点,分割 #freq=TURE 代表显示产生的数值,FALSE代表显示产生的原始值 #main="”代表的是设置的标题内容
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), labels = c("A", "B", "C"))#labels 代表是条形列设置分别不同的昵称
案例
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), axes = T, main = "axes = T")#axes代表的是显示,各项数值 hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), axes = F, main = "axes = F")#axes代表的是不显示,各项数值
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = "pink")#col是颜色设定的意思 hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = rainbow(3))
par(mfrow = c(1, 2)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = rainbow(3)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), col = rainbow(3), border = NA)#border=NA代表的是取条形显示框色
par(mfrow = c(1, 3)) data <- c(rep(1, 10), rep(2, 5), rep(3, 6)) hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 1, main = "density = 1")#density代表的设置条形,出斜线 hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 2, main = "density = 2") hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), density = 3, main = "density = 3")
二.柱状图
barplot函数
barplot(height = 1:10)#高度,通过这个参数可以指定要画多少个柱子以及每个柱子的高度
data <- cbind(a = 1:4, b = 1:4) barplot(data)
条形图(Bar Chart)是用一个单位长度表示一定的数量,根据数量的多少画成长短不同的直条,然后把这些直条按一定的顺序排列起来。从条形统计图中很容易看出各种数量的多少。
在R中,可以使用barplot函数绘制条形图,展示各类数据的数量分布情形。条形图的x轴是数据类别,y轴是相应类别的频数。barplot函数的具体用法如下所示。
barplot(height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45, col = NULL, border = par("fg"), main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim= NULL, ylim = NULL, xpd = TRUE, log = "", axes = TRUE,axisnames = TRUE, cex.axis = par("cex.axis"), cex.names =par("cex.axis"), inside = TRUE, plot = TRUE, axis.lty = 0,offset = 0, add = FALSE, args.legend = NULL, ...)
height是绘图所⽤到的数据,数据的⼤⼩差异体现在柱形的⾼度上⾯。如果想要对⼀组数据进⾏绘图,则数据以向量⽅式输⼊;如果想要对两组以上数据进⾏绘图,则数据以矩阵⽅式输⼊,矩阵每⼀⾏代表⼀组数据。
names.arg是图形中绘制于每个柱形下⽅的名称向量。如果该参数被忽略,则名称就显⽰为向量所带的名称属性或矩阵的名称列。
legend.text⽤以控制图例。
horiz控制柱形(条形)以垂直或⽔平⽅式放置
beside控制不同组数据以垂直⽅式堆积或⽔平⽅式并列来进⾏展⽰。取FALSE(默认取值)时,不同组的数据以垂直⽅式堆积展⽰
在左上⾓的第⼀幅图形中,采⽤默认的⽅式绘制条状图,由于没有添加条形图的坐标轴标签,我们所获知的信息有限
在右上⾓的第⼆幅图形中,通过参数density=10添加了阴影线,并设置了阴影线的倾斜⾓度angle=30,还增加了条形图的横轴标签,这样,各种收⼊来源⽐较起来就很⽅便
在左下⾓的第三幅图形中,使⽤参数horiz=TRUE,绘制了⽔平条形图
在右下⾓的第四幅图形中,增加了每条矩形的颜⾊,并且通过text()函数增加了每个收⼊来源的具体数值。请注意text()函数中⽂本位置的参数设置 ⽅ 法 first+0.1 , 我们把barplot()函数的结果赋值给x,⽽x的返回值为条形图横坐标的位置。
三.饼图
x为向量,其元素为⾮负的数值型数据,这些数据反映在饼图的对应⾯积上。
labels是表达式或者字符串,⽤以给数据添加标签。
edges⽤来控制饼图外圈的圆润程度。饼图是由多边形拟合⽽成的,edges数值越⼤,饼图的外圈看上去就越圆。
radius⽤来控制饼图的半径,如果给数据添加的标签很长,缩⼩饼图半径就能够将字符完整显⽰出来。
clockwise⽤来控制排列顺序,即顺时针或逆时针⽅向排列。
density⽤来控制阴影线的密度。
angle⽤以控制阴影线的斜率。
col是⼀个向量,⽤以填充被分割饼图的每⼀区域的颜⾊。
main控制图的标题。