R语言自学笔记-----R绘图(一)---条形图
作者:互联网
R语言提供了大量的包来实现数据的可视化功能,即将数据分析处理后的结果以图的形式展示出来,这里我们介绍一些使用比较普遍的统计图的简单绘制,更加复杂的有针对性的绘制操作可以自行查阅R的帮助文档。
本文主要针对条形图的绘制,条形图也称为柱状图,是一种以长方形的长度来度量变量的一种统计图。条形图可以是水平的也可以是竖直的,条形图主要用于反映分类数据的频数分布。根据我们的实际需求,条形图也总是在做着相应的调整,本文给出了一些常用的条形图的绘制方法,我们可以调用基础包中的barplot函数或者ggplot函数来绘制条形图。
这里我们利用barplot函数来进行绘制
基本书写格式:
barplot(height,
xlab,
ylab,
xlim,
ylim,
horiz,
legend.text,
main,
names.arg,
col,
border,
beside)
其中xlab是x轴标签,ylab是y轴标签,xlim是x轴的取值范围,ylim是y轴的取值范围,horiz表示柱子是否水平,beside表示柱子是否水平放置,main是图名称,names.arg是各矩形条名称,col是各矩形条填充颜色,border是各矩形条的轮廓颜色,lengend.text是图形图例的文本,height表示柱子的高度。
(一)基本条形图的绘制
#创建数据向量x
x <- c(10,15,20,5)
#创建名称向量y
y <- c('优秀','良好','及格','不及格')
#创建各个柱的填充颜色向量z
z <- c('green','green','yellow','red')
#创建各个柱的轮廓颜色向量m
m <- c('black','black','blue','blue')
#绘制条形图
barplot(height=x,xlab='成绩水平',y=c(0,30),ylab='学生人数',main='高一二班成绩水平分布表',col=z, border=m,names.arg=y)
上述代码运行后的生成的条形图如下:
(二)水平条形图的绘制
水平条形图的运用一般是柱形太多的情况之下,这里用比较简单的一些数据来举例
#创建数据向量x
x <- c(10,15,20,5)
#创建名称向量y
y <- c('优秀','良好','及格','不及格')
#创建各个柱的填充颜色向量z
z <- c('green','green','yellow','red')
#创建各个柱的轮廓颜色向量m
m <- c('black','black','blue','blue')
#绘制水平条形图
barplot(height=x,xlab='成绩水平',ylab='学生人数',xlim=c(0,30),main='高一二班成绩水平分布表',col=z, border=m,names.arg=y,horiz=TRUE)
#为矩形添加观测值
text(n,paste(x),cex=1)
上述代码运行后所绘制出的水平条形统计图如下:
(三)绘制分组条形图
我们有时候会遇到多组数据的情况,此时我们经常使用分组条形图或者堆砌条形图来将数据可视化,实际运用中经常将数据用矩阵存储起来,这里举一个简单的例子
#建立条形图的分组向量
x <- c('博士后','博士','研究生','本科','专科')
#建立条形图的图例向量
y <- c('研究中心','质量部','生产部')
#建立3行5列的矩阵
m <- matrix(c(3,12,23,15,20,2,12,14,15,14,1,4,15,16,13),3,5,T)
#绘制分组条形图
barplot(m,main='各部门员工学历人数统计',xlab='部门',ylab='人数',ylim=c(0,30),
col=c('green','yellow','red'),border='black',legend=y,beside=T,names.arg=x)
#为各个矩形样本添加观测值
text(n,m,paste(m),cex=1)
上述代码运行后即生成下列分组条形图,值得注意的是,分组条形图一般是利用矩阵的数据类型来进行绘制。矩阵的行即有几个水平,矩阵的列即表示每一个水平可以分多少组。其中paste函数用来自动将数据对应匹配。
标签:数据,矩阵,水平,---,分组,-----,绘制,条形图 来源: https://blog.csdn.net/qq_59022967/article/details/122628046