R 基础绘图体系

  1. 简单绘图
#模拟100位同学学号及三科成绩
num = seq(12340001,12340100)) # 形成学号
x1 = round(runif(100,min = 80,max = 100))) #随机产生max100和min80的100位同学科目1成绩
x2 = round(rnorm(100,mean = 80,sd = 5))) #随机产生mean80和sd5的100位同学科目1成绩
x3 = round(rnorm(100,mean = 85,sd = 17))) #随机产生mean85,sd17的100位同学科目1成绩
x3[which (x3 > 100)] = 100 #数值替换
x = data.frame(num,x1,x2,x3) #原始数据

#直方图 
hist(x$x3) #科目3各个成绩的人数分布
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523112843284-1104084892.png)

#散点图
plot(x1,x3) #科目1与科目3的散点图(两科关系)
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523112931285-1078825760.png)

#柱状图
table(x$x3) #获取列联表,统计各成绩的人数
barplot(table(x$x3)) #绘制科目3分布情况
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523113601326-200795343.png)
# 柱状图与直方图反馈信息基本一致,但直方图横坐标通常分段统计频数,柱状图横坐标为单个样本频数,故,直方图可用于横坐标为数值类型(numeric)的数据,柱状图用于横坐标为字符串类型(character)的数据。

#饼图
pie(table(x$x3)) #绘制科目三成绩占比
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523115129490-586128054.png)

#箱线图
boxplot(x$x1,x$x2,x$x3,col = 2:4,notch = T) #绘制三科成绩的分散分布(均值,25%分位数,50%分位数,75%分位数,最大值,最小值)。孤立值常为错误值。
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523115736448-97286682.png)
# 横向绘制,加参数 horizontal = T
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523115856716-1030126791.png)

#雷达图
stars(x[2:4],col.stars = rep(c(1:10),10),labels = x$num,full = T,cex = 0.3)  #绘制学生成绩的优势,是否偏科,
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523121139610-349601603.png)
# 变为扇形,加参数 draw.segments =T
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523121416113-915860101.png)

#qq图
qqnorm(x$x1) 
qqline(x$x1) #判断学生成绩是否为正态分布,可见 科目2符合正态分布
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523121645555-2116882140.png)
![](https://img2020.cnblogs.com/blog/1827116/202005/1827116-20200523121743597-1100214261.png)



猜你喜欢

转载自www.cnblogs.com/drliu/p/12941451.html