R_Studio(学生成绩)绘制频率分布直方图、分布饼图、折线比较图
对“Gary.csv”中的成绩数据进行分布分析
(1)按0-59,60-69,70-79,80-89,90-100分组绘制高级语言程序设计成绩的频率分布直方图。
(2)按0-59,60-69,70-79,80-89,90-100分组绘制计算机导论成绩的分布饼图。
(3)绘图前4门课程的折线比较图。
实现过程
绘制高级语言程序设计成绩的频率分布直方图
setwd('D:\\data') #更改工作目录 list.files() #列出当前工作目录下的文件 dat=read.csv(file="Gary.csv",header=TRUE) #读取"Gary.csv文件" #table(cut(data,breaks = break2)) #对分布直方图横坐标进行切割 hist(dat[,7],freq = FALSE,breaks = c(0,60,70,80,90,100),col="red",main="频率分布直方图",xlab="成绩")
直方图 hist(v,main,xlab,xlim,ylim,breaks,col,border) 传送门
参数:
v - 是包含直方图中使用数值的向量
main - 表示图表的标题
col - 用于设置条的颜色
border - 用于设置每个栏的边框颜色
xlab - 用于描述x轴
xlim - 用于指定x轴上的值范围
ylim - 用于指定y轴上的值范围
breaks - 是用来提及每个栏的宽度
绘制计算机导论成绩的分布饼图
setwd('D:\\data') #更改工作目录 list.files() #列出当前工作目录下的文件 dat=read.csv(file="Gary.csv",header=TRUE) #读取"Gary.csv文件" data=dat[which(complete.cases(dat)),8] #筛选计算机导论成绩(第八列) break2 = c(0,60,70,80,90,100) #设置分段区间 pie(break2,as.numeric(dat[,8]),main=("计算机导论成绩饼状图")) #做出频率分布直方图
饼图:pie(x, labels, radius, main, col, clockwise) 传送门
参数
x - 是包含饼图中使用的数值的向量
labels - 用于描述切片的标签
radius - 用来表示饼图圆的半径(-1和+1之间的值)
main - 用来表示图表的标题
col - 表示调色板
clockwise - 是一个逻辑值,指示片是顺时针还是逆时针绘制
绘图前4门课程的折线比较图
4门课程折线图分开画
setwd('D:\\data') #更改工作目录 list.files() #列出当前工作目录下的文件 dat=read.csv(file="Gary.csv",header=TRUE) #读取"Gary.csv文件" plot(as.numeric(dat[,3]),col="red",type="o",xlab="人数",ylab="成绩",main=("大学成绩饼状图")) #做出频率分布直方图 plot(as.numeric(dat[,4]),col="blue",type="o",xlab="人数",ylab="成绩",main=("大学英语成绩饼状图")) #做出频率分布直方图 plot(as.numeric(dat[,5]),col="green",type="o",xlab="人数",ylab="成绩",main=("大学语文成绩饼状图")) #做出频率分布直方图 plot(as.numeric(dat[,6]),col="yellow",type="o",xlab="人数",ylab="成绩",main=("高等数学成绩饼状图")) #做出频率分布直方图
折线比较图:plot(v,type,col,xlab,ylab) 传送门
参数
v - 是包含数值的向量
type - 取值“p”表示仅绘制点,“l”表示仅绘制线条,“o”表示仅绘制点和线
xlab - 是x轴的标签
ylab - 是y轴的标签
main - 是图表的标题
col - 用于绘制点和线两种颜色
四门课程折线图绘画在一张图中
( 只需要把plot改为lines()四组线就在同一个图里面,图的xlab,ylab,main由plot中的值来指定)
setwd('D:\\data') #更改工作目录 list.files() #列出当前工作目录下的文件 dat=read.csv(file="Gary.csv",header=TRUE) #读取"Gary.csv文件" plot(as.numeric(dat[,3]),col="red",type="o",xlab="人数",ylab="成绩",main=("大学成绩饼状图")) #做出频率分布直方图 lines(as.numeric(dat[,4]),col="blue",type="o",xlab="人数",ylab="成绩",main=("大学英语成绩饼状图")) #做出频率分布直方图 lines(as.numeric(dat[,5]),col="green",type="o",xlab="人数",ylab="成绩",main=("大学语文成绩饼状图")) #做出频率分布直方图 lines(as.numeric(dat[,6]),col="yellow",type="o",xlab="人数",ylab="成绩",main=("高等数学成绩饼状图")) #做出频率分布直方图
可以使用lines()
函数在同一个图表上绘制多个直接。
在绘制第一行之后,lines()
函数可以使用附加向量作为输入来绘制图表中的第二行