2021 您所在的位置:网站首页 条形图和饼形图 2021

2021

#2021| 来源: 网络整理| 查看: 265

2.1 题目如下

 (1)基础操作为:

> Titanic attach(Titanic) > table1 library(DescTools) > par(mfrow=c(1,2),mai=c(0.6,0.6,0.6,0.1),cex=0.7,cex.main=1,font.main=1) #设置页面布局,mai控制下左上右的图形内边框距离,cex代表整体字体大小,cex.main代表标题字体大小,font.main代表标题字体粗细

画条形图:

> b1 BarText(table1,b=b1,beside=TRUE,cex=1) > b2 BarText(table1,b=b2,cex=1)

注解:

(1)画条形图的关键词为barplot

(2)beside=TRUE是控制条形图并列分布的关键语句

(3)legend设置图例内容,args.legend设置图例位置颜色等

(4)BarText用于添加频数标签

出来的效果图为:

 这里虽说Titanic是R自带的数据集,但无法attach我就不知道该怎么用了,也不知道是不是我之前随便玩的时候弄坏了原本的Titanic数据集。因此采取了导入数据的方式,这样才好生成二维表进行之后的操作。

2022.3.14更新:

受到评论区小伙伴的思路的启发,我找到了不用导入csv文件就可以画图的方法,这里仅演示第一小题,后面的小题我想应该都是可以套用的!

代码为:

> library(DescTools) > newdata = data.frame(Titanic) > sexsurdata=xtabs(Freq~Sex+Survived, data=newdata) > b1 BarText(sexsurdata,b=b1,beside=TRUE,cex=1) > b2 BarText(sexsurdata,b=b2,cex=1)

画出来的图为:(和上面的不同就是男女颜色互换了,但都是对的~)

 

(2)相关理解见注释,完整代码为:

> Titanic par(mai=c(0.7,0.7,0.2,0.7),cex=0.7) > x palette bar text(bar,x,labels=x,pos=3,col="black") #为条形图增加频数标签 > y 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=3,y=0.93,cex=1) #添加注释文本

 出来的效果图为:

 (3)这题有大坑啊,课本真的有毒,按课本做老是无法正确显示,写一下坑:

基础操作为:

> Titanic attach(Titanic) > table3 par(mai=c(0.6,0.6,0.4,0.4),cex=0.7,cex.main=1,font.main=1) > palette spineplot(Class~Survived,data=table3,col=palette,xlab="Survived",ylab="Class",main="脊形图")

但是出来的图一直是这样的:

 所以我就想是不是漏了什么语句,然后我上网查和翻课本都没找到解决方式,如果有知道的请告诉我一下

然后我的解决方式是:

> table3 spineplot(table3,col=palette,xlab="Survived",ylab="Class",main="脊形图")

我去掉了第一个语句,并且这里table3的导入数据顺序是不可以改的(就显得有点笨拙),第一个数据默认横坐标,第二个数据默认纵坐标,这样才能与脊形图中的横纵坐标相对应,最后正确的结果为:

 (4)相关理解见注释,完整代码为:

> Titanic par(mai=c(0.3,0.3,0.2,0.1),cex=0.7,cex.main=0.8) > mosaicplot(~Class+Sex+Age+Survived,data=Titanic,cex.axis=0.8,off=5,main="马赛克图",shade = TRUE)

关键语句还是课本上没有的最后一句shade = TRUE。

添加选项shade = TRUE将根据拟合模型的皮尔逊残差值对图形上色。

出来的效果图为:

 (5)相关理解见注释,完整代码为:

饼图:

> Titanic par(mai=c(0.2,0.4,0.2,0.4),cex=0.7) > tab5_1 name1 percent1 labs1 pie(tab5_1,labels = labs1,init.angle = 90,radius = 1,main="饼图") #绘制饼图

 出来的效果图为:

 扇形图:

> library(plotrix) #画扇形图必备包 > library(RColorBrewer) > Titanic par(mai=c(0.2,0.4,0.2,0.4),cex=0.7) > tab5_1 name1 percent1 labs1 fan.plot(tab5_1,labels = labs1,max.span=0.9*pi,shrink=0.06,radius=1.2,label.radius=1.4,ticks=200,main="扇形图",col=c("#FB8072","#FFFFB3","deepskyblue","pink")) #max.span设置扇形图最大跨度,shrink和radius设置扇形错开的距离和半径,label.radius设置标签与扇形的距离

出来的效果图为:

 环形图和饼环图:

> library(ggiraphExtra) > library(ggplot2) > library(gridExtra) #加载包 > Titanic p1 p2 grid.arrange(p1,p2,ncol=2) #按2列组合图形p1和p2

出来的效果图为:

之后有空再写别的题,实在是太耗费时间了。最后贴一个我觉得写的挺好的博客,侵权删。

R语言图形篇(一)_小凤的博客-CSDN博客



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有