R语言之脸谱图
脸谱图和星图类似,但它却比星图可以表示更多的数据维度。用脸谱来分析多维度数据,即将P个维度的数据用人脸部位的形状或大小来表征。脸谱图在平面上能够形象的表示多维度数据并给人以直观的印象,可帮助使用者形象记忆分析结果,提高判断能力,加快分析速度。目前已应用于多地域经济战略指标数据分析,空间数据可视化等领域。
脸谱图一般采用15个指标,各指标代表的面部特征为:
1 脸的高度 2脸的宽度3 脸型4嘴巴厚度 5, 嘴巴宽度6 微笑7 眼睛的高度8 眼睛宽度
9 头发长度 10 头发宽度11头发风格12 鼻子高度13 鼻子宽度14 耳朵宽度15耳朵高度
在R语言里面有两个包可以绘制脸谱图,一个是aplpack,另外一个是TeachingDemos。
首先我们先用aplpack包来试试:这个扩展包里面有一个faces()函数
- faces(xy, which.row, fill = FALSE, face.type = 1, nrow.plot, ncol.plot,
- scale = TRUE, byrow = FALSE, main, labels, print.info = TRUE,
- na.rm = FALSE, ncolors = 20, col.nose = rainbow(ncolors),
- col.eyes = rainbow(ncolors, start = 0.6, end = 0.85),
- col.hair = terrain.colors(ncolors), col.face = heat.colors(ncolors),
- col.lips = rainbow(ncolors, start = 0, end = 0.2),
- col.ears = rainbow(ncolors, start = 0, end = 0.2), plot.faces = TRUE)
这个函数里面,参数face.type取值范围为0—2,0表示无颜色,1,表示彩色,2表示时彩色的圣诞老人,不在这个范围则默认为1。
- data(longley)#加载数据
- faces(longley[1:9,],face.type=1)
lonley数据集有一下变量:
绘图结果如下
effect of variables:
变量在脸谱图中代表意义说明如下:
- effect of variables:
- modified item Var
- "height of face " "GNP.deflator"
- "width of face " "GNP"
- "structure of face" "Unemployed"
- "height of mouth " "Armed.Forces"
- "width of mouth " "Population"
- "smiling " "Year"
- "height of eyes " "Employed"
- "width of eyes " "GNP.deflator"
- "height of hair " "GNP"
- "width of hair " "Unemployed"
- "style of hair " "Armed.Forces"
- "height of nose " "Population"
- "width of nose " "Year"
- "width of ear " "Employed"
- "height of ear " "GNP.deflator"
将face.type改为2则可以画出来的脸谱图是圣诞老人。
这个包里面还有一个plot.faces()函数,他可以帮我们把脸谱图和散点图结合起来。听起来是不是很酷。
- data(longley)
- plot(longley[1:16,2:3],bty="n")
- a<-faces(longley[1:16,],plot=FALSE)
- plot.faces(a,longley[1:16,2],longley[1:16,3],width=35,height=30)
今天是圣诞节,咱就把这个画成圣诞老人,祝大家圣诞节快乐,只需要把face.type=2就OK了。
是不是如果把散点图画成这样很有个性。把这张图送给大家就当是祝大家圣诞节快乐。
二.TeachingDemos
至于TeachingDemos包,它的功能就较多,不仅可以绘制脸谱图,他也可以借助rgl扩展包绘制三维动态图。
然后剩下的给大家留一个悬念,感兴趣的可以自己去研究一下,也希望有经验的大牛在评论区交流经验。
R语言之脸谱图的更多相关文章
- R语言绘制QQ图
无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...
- R语言画棒状图(bar chart)和误差棒(error bar)
假设我们现在有CC,CG,GG三种基因型及三种基因型对应的表型,我们现在想要画出不同的基因型对应表型的棒状图及误差棒.整个命令最重要的就是最后一句了,用arrows函数画误差棒.用到的R语言如下: d ...
- R语言-画线图
R语言分高水平作图函数和低水平作图函数 高水平作图函数:可以独立绘图,例如plot() 低水平作图函数:必须先运行高水平作图函数绘图,然后再加画在已有的图上面 第一种方法:plot()函数 > ...
- R语言绘制花瓣图flower plot
R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...
- R语言-简单线性回归图-方法
目标:利用R语言统计描绘50组实验对比结果 第一步:导入.csv文件 X <- read.table("D:abc11.csv",header = TRUE, sep = & ...
- R语言学习 - 热图简化
绘制热图除了使用ggplot2,还可以有其它的包或函数,比如pheatmap::pheatmap (pheatmap包中的pheatmap函数).gplots::heatmap.2等. 相比于gg ...
- R语言学习 - 热图绘制heatmap
生成测试数据 绘图首先需要数据.通过生成一堆的向量,转换为矩阵,得到想要的数据. data <- c(1:6, 6:1, 6:1, 1:6, (6:1)/10, (1:6)/10, (1:6)/ ...
- R语言绘制茎叶图
与直方图相比,茎叶图更能细致的看出数据分布情况! 代码: > x<-c(25, 45, 50, 54, 55, 61, 64, 68, 72, 75, 75,+ 78, 79, 81, 8 ...
- R语言-箱型图&热力图
1.箱型图 boxplot()函数 > metals<-read.csv("metals.csv",header=TRUE) #读取文件和列名 > boxplot ...
随机推荐
- 决策树(基于增益率)之python实现
如图,为使用到的公式,信息熵表明样本的混乱程度,增益表示熵减少了,即样本开始分类,增益率是为了平衡增益准则对可取值较多的属性的偏好,同时增益率带来了对可取值偏小的属性的偏好,实际中,先用增益进行筛选, ...
- Janus安装教程,ubuntu18.04系统
Janus安装教程,ubuntu18.04系统 本文介绍Jansu如何安装,操作系统为Ubuntu 18.04. (1)安装git 执行命令:“sudo apt-get install ...
- opencv霍夫变换
霍夫变换不仅可以找出图片中的直线,也可以找出圆,椭圆,三角形等等,只要你能定义出直线方程,圆形的方程等等. 不得不说,现在网上的各种博客质量真的不行,网上一堆文章,乱TM瞎写,误人子弟.本身自己就没有 ...
- Java之字符流读写文件、文件的拷贝
字符流读数据 – 按单个字符读取 创建字符流读文件对象: Reader reader = new FileReader("readme.txt"); 调用方法读取数据: int d ...
- Flask基础(07)-->正则自定义转换器
正则自定义转换器 为什么要自定义正则转换器? 因为默认转换器太过于笨重,往往不能满足我们实际业务的需求,这时候我们就需要自定义正则转换器了. 那么我们怎么自定义正则转换器呢? from flask i ...
- 基于vue-cli、elementUI的Vue超简单入门小例子
- 这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. - 开始写例子之前,先对环境的部署做点简单的介绍,其实和Vue官方的差不多. #如若没有安装过vu ...
- 地图的标注Marker
(1)在point处添加标注:var marker = new BMap.Marker(point); (2)添加覆盖物:map.addOverlay(marker); (3)激活标注的拖拽功能:ma ...
- 关于SpringBoot 1.x和2.x版本差别
有点小差别 基本上基于SpringBoot的代码不需要改动,但有些配置属性和配置类,可能要改动,改动原因是 配置和类的更新或者是改名一般正常的MVC,数据库访问这些都不需要改动,下面按照本书章节说明区 ...
- Zygote家的大儿子 —— SystemServer
本文基于 Android 9.0 , 代码仓库地址 : android_9.0.0_r45 文中源码链接: SystemServer.java SystemServiceManager.java Sy ...
- ssm配置文件
mybatis配置文件SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DO ...