准备

第一步就是安装R语言环境以及RStudio

图绘制准备

首先安装库文件,敲入指令,回车

install.packages('corrplot')

然后安装excel导入的插件,点击右上角import Dataset,选中From excel即可。

这些操作都很简单~~

数据预处理

然后到了数据输入了,这么多数据,我们总不能一行输入吧?那得有多蠢

于是我们利用上了数据导入功能,当当当~~

然而理想很丰满,现实却很蛋疼,导入的excel数据格式不是我们希望的矩阵格式ORZ!

哎,休息下喝杯茶,看看可能用到的指令吧。

假设导入的数据为data,那么可能用到的指令如下:

//查看数据
data
//删除矩阵第一行
data = data[-1,]
//删除矩阵第一列
data = data[,-1]
//data转换成矩阵
data = as.matrix(data)
//更改行名
row.names(data)<-c("OC","EC","SOC","NH4+","NO3","SO42")

指令在手,天下我有!

存在问题:导入数据格式问题

期望导入的数据格式是矩阵,如下图所示:

实际导入的数据格式如下图:

报警了~~

解决方案:导入数据转换成矩阵流程

然而山人自有妙计~~

  1. data = data[,-1],删除第一列的多余数据,运行结果如下图

  2. data = as.matrix(data),转变成矩阵,运行结果如下图

  3. 虽然变成矩阵了,但是第一列行名有问题。运行代码row.names(data)<-c("OC","EC","SOC","NH4+","NO3","SO42"),运行结果如下图

数据绘图

数据变成矩阵后,运行如下指令,即可得到图片

library(corrplot)
corrplot(corr = data, method = 'color', order ="AOE", addCoef.col="grey")

运行结果如下图所示:

corrplot 的具体参数含义可以参考文献使用R语言绘制其他图形之相关系数图

然而参数好多啊。。。。并不想看,我差不多是条咸鱼了。。。

继续撸参数,然后慢慢调节。。。

其中关于颜色的调整参数为col,参考文献An Introduction to corrplot Package

例如

col<- colorRampPalette(c("red","orange", "yellow","green","blue","purple"))(20)
corrplot(corr = data, method = 'color', order ="AOE", addCoef.col="grey",col=col)

运行结果如下:

但是零的部分很丑有木有,因此需要调参~~

关于添加cl.lim参数以及type参数微调优化

col<- colorRampPalette(c("black","blue" ,"purple","green","yellow","orange","red","black","blue" ,"purple","green","yellow","orange","red"))(20)
corrplot(corr = data, method = 'color', order ="AOE", addCoef.col="grey",col=col,cl.lim = c(0,1),type="upper")

运行结果如下:

好了,到此为止基本上相对关系图就绘制完毕了O(∩_∩)O~~

如果想把图绘制的更加炫酷,强烈推荐自习阅读参考文献6,就酱= ̄ω ̄=

最后,修仙伤身====

参考文献

  1. 使用R语言绘制其他图形之相关系数图
  2. R语言中的数据集
  3. R语言定义数据框的行名和列名
  4. r语言中删除数据集中的一列或一行数据
  5. 如何利用已经导入的excel数据和txt数据建立矩阵?
  6. An Introduction to corrplot Package

R语言绘制相对性关系图的更多相关文章

  1. 一幅图解决R语言绘制图例的各种问题

    一幅图解决R语言绘制图例的各种问题 用R语言画图的小伙伴们有木有这样的感受,"命令写的很完整,运行没有报错,可图例藏哪去了?""图画的很美,怎么总是图例不协调?" ...

  2. R语言绘制花瓣图flower plot

    R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...

  3. R语言绘制QQ图

    无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...

  4. R语言绘制空间热力图

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始 首先安装相关包 install_packages("dev ...

  5. R语言绘制沈阳地铁线路图

    ##使用leaflet绘制地铁线路图,要求 ##(1)图中绘制地铁线路 library(dplyr) library(leaflet) library(data.table) stations< ...

  6. R语言绘制箱型图

    箱形图是数据集中数据分布情况的衡量标准.它将数据集分为三个四分位数.盒形图表示数据集中的最小值,最大值,中值,第一四分位数和第四四分位数. 通过为每个数据集绘制箱形图, 比较数据集中的数据分布也很有用 ...

  7. R语言绘制茎叶图

    与直方图相比,茎叶图更能细致的看出数据分布情况! 代码: > x<-c(25, 45, 50, 54, 55, 61, 64, 68, 72, 75, 75,+ 78, 79, 81, 8 ...

  8. R语言——绘制半圆形图

    好久没发点新的作品了.......也许...... Que sera, seraWhatever will be, will be

  9. R语言学习 - 箱线图(小提琴图、抖动图、区域散点图)

    箱线图 箱线图是能同时反映数据统计量和整体分布,又很漂亮的展示图.在2014年的Nature Method上有2篇Correspondence论述了使用箱线图的好处和一个在线绘制箱线图的工具.就这样都 ...

随机推荐

  1. linux c scanf()小解

    今天学习了新的内容,关于c语言的scanf()函数. scanf()函数,读取指定格式的值赋值给相应变量.空格(‘ ‘),回车('\n'),TAB是分隔符,轻易不会被读取.还有,该函数的返回值是正确读 ...

  2. WPF制作的小时钟

    原文:WPF制作的小时钟 周末无事, 看到WEB QQ上的小时钟挺可爱的, 于是寻思着用WPF模仿着做一个. 先看下WEB QQ的图: 打开VS, 开始动工. 建立好项目后, 面对一个空荡荡的页面, ...

  3. HDU 4405 Aeroplane chess(期望dp)

    Aeroplane chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  4. Python+Selenium框架设计篇之-什么是POM

    前面我们介绍了Python中的单元测试框架unittest,以后我们所有的测试类文件,都采用unittest来辅助我们进行debug和脚本开发.搞定了debug机制和确定了unittest来进行创建和 ...

  5. 孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法

    孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步的语音笔记朗读:https://www.ximalaya.com/keji/1 ...

  6. Ubuntu16.04 问题汇总

    Ubuntu16.04安装wps并解决系统缺失字体问题 http://www.cnblogs.com/liutongqing/p/6388160.html

  7. 斯坦福大学CS231n简要笔记和课后作业

    笔记目录: 1. CS231n--图像分类(KNN实现) 2. 待更新... 3. 4.

  8. React01补充

    使用yarn安装脚手架 npm i -g yarn npm uninstall -g create-react-app yarn global add create-react-app create- ...

  9. 2013 ACM/ICPC Asia Regional Changsha Online – C题 Color Representation Conversion (坑爹模拟题)

    题意:给你三种颜色表示模式,RGB,HSV和HSL,实现任意模式之间两两转化. 1.最好别看题目中给的转化公式描述,我觉得叙述的一点也不清楚,看维基百科,把维基百科上的公式一句一句翻译过来就好 2.在 ...

  10. linux中帮助参数 man whatis which info区别?

    在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档: linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们: 在只记 ...