R语言数据可视化 | 绘制帕累托图

本文依旧是以R语言自带的数据集Titanic中的Class绘制帕累托图

首先我们先把数据集Titanic中的Class数据提取出来则就用到了R语言中的margin.table()函数。代码如下:

tab= margin.table(Titanic,"Class")

绘制Class帕累托图

绘制帕累托图图形前我们要将各类别的频数从高到低排序(即为降序)。这是帕累托图的必须要求。所以我们要用到R语言的sort()函数,函数用法如下:

sort(x, decreasing = FALSE, ...)#decreasing默认的是升序

绘制Class帕累托图的完整代码如下:

par(mai=c(0.7,0.7,0.7,0.7),cex=0.7)   
tab = margin.table(Titanic,"Class")   #提取数据
x<-sort(tab,decreasing=TRUE)  # 生成一维表并将频数降序排列
bar<-barplot(x,xlab="Class",ylab="人数",ylim =c(0,1000),col = rainbow(5),main = "图2 class的帕累托图") # 绘制条形图
text(bar,x,labels=x,pos=3,col="black")       # 为条形图添加频数标签

运行代码结果的图像如下:

R语言数据可视化 | 绘制帕累托图_第1张图片

 

接下来我们可以在上面图像的基础上添加绘制累积频数折线,代码如下:

y<-cumsum(x)/sum(x)                          # 计算累积频数
par(new=T)                                   # 绘制一幅新图加在现有的图形上
plot(y,type="b",pch=15,axes=FALSE,xlab='',ylab='',main='') # 绘制累积频数折线
axis(side=4)                                    # 在第4个边增加坐标轴
mtext("累积频率",side=4,line=3,cex=0.8)         # 添加坐标轴标签
text(labels="累积分布曲线",x=2.4,y=0.95,cex=1)  #添加标题,x,y的值是标题的位置

运行代码结果的图像如下:

R语言数据可视化 | 绘制帕累托图_第2张图片

 结语:

以上就是今天学习的内容,有哪些错误的地方,还望大神指出!!!!

你可能感兴趣的:(R语言,数据可视化,r语言)