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="成绩")      
Gary.R

 

直方图  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=("计算机导论成绩饼状图"))      #做出频率分布直方图
Gary.R

   

饼图: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=("高等数学成绩饼状图"))      #做出频率分布直方图
Gary.R

 

折线比较图: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=("高等数学成绩饼状图"))      #做出频率分布直方图
Gary.R

 

  可以使用lines()函数在同一个图表上绘制多个直接。

  在绘制第一行之后,lines()函数可以使用附加向量作为输入来绘制图表中的第二行

 

posted @ 2018-09-15 16:00  Cynical丶Gary  阅读(8175)  评论(0编辑  收藏  举报