原文链接:http://tecdat.cn/?p=18879

原文出处:拓端数据部落公众号

这是一个六边形热图可视化程序,主要用到的知识RColorBrewer,fields,也就是R中的可视化绘图库。

本文希望SOM的结果以六边形热图可视化。让我向您展示如何在R中创建六边形热图!

您必须根据自组织神经网络(SOM)的结果来创建自己的变量 。输入变量 Heatmap_Matrix 变量是一个矩阵,可以作为热图的数字表示。

因此,矩阵具有与SOM映射相同的行数和与SOM映射相同的列数,并且热图中的每个值表示一个六边形的值。这里 [1,1] 将成为左下节点(第一行,第一列),[1,2] 将成为右侧的节点, 将成为 [2,1] 第二行中左侧的第一个节点,依此类推。因此,从视觉上看,顺序从左下到右上,而在矩阵中,则从左上到右下。

library(RColorBrewer) #使用brewer.pal
library(fields) #使用designer.colors#为每个六角形创建多边形的功能#从一个矩阵开始,该矩阵将作为您的热图的数字表示形式,称为Heatmap_Matrixx <- as.vector(map_Matrix)#此矩阵具有与SOM映射相同的行数和与SOM映射相同的列数,并且热图中的每个值表示一个六边形的值#在这里[1,1]将成为左下节点(第一行,第一列),[1,2]将成为右节点[2,1]将成为第二行左侧的第一个节点#因此,从视觉上看,可以从左下到右上工作#SOM的行数和列数Rows <- dim(map_Matrix)[1]
Columns <- dim(map_Matrix)[2]#为图例腾出空间par(mar = c(0.2, 2, 2, 7))#启动绘图窗口,但确实显示绘图上的所有轴或点plot(0, 0, type = "n", axes = FALSE, xlim=c(0,  Columns),ylim=c(0,  Rows), xlab="", ylab= "", asp=1)#创建调色板#我使用designer.colors在Brewer中允许的最大数量的数值之间插入50种颜色ColRamp <- rev(designer.colors(n=50, col=brewer.pal(9, "Spectral") )#制作一个向量,其长度(ColRamp)的bin数在x的最小值与最大值之间.
#接下来,将x中的每个点与ColorRamp中的一种颜色进行匹配ColorCode <- rep("#FFFFFF", length(x)) #默认为全白for (i in 1:length(x))if (!is.na(x[i])) ColorCode[i] <- ColRamp[which.min(abs(Bins-x[i]))]#在图上实际绘制六角形多边形offset <- 0.5 #向上移动时六边形的偏移量for (row in 1: Rows) {for (column in 0:( Columns - 1))agon(column + offset, row - 1, col = ColorCode[row +  Rows * column])offset <- ifelse(offset, 0, 0.5)
}#在右侧添加图例image(legend.only=TRUE, col=ColRamp, zlim=c(min(x, na.rm=T), max(x, na.rm=T)))

能够读取颜色含义的图例

在最后,创建图例,您将获得与上图类似的热图。

希望我的解释和代码能帮助您在R中创建自己漂亮的热图。


最受欢迎的见解

1.R语言动态图可视化:如何、创建具有精美动画的图

2.R语言生存分析可视化分析

3.Python数据可视化-seaborn Iris鸢尾花数据

4.r语言对布丰投针(蒲丰投针)实验进行模拟和动态

5.R语言生存分析数据分析可视化案例

6.r语言数据可视化分析案例:探索brfss数据数据分析

7.R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

8.R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告

9.python主题LDA建模和t-SNE可视化

拓端tecdat|如何在R语言中建立六边形矩阵热图heatmap可视化相关推荐

  1. 如何在R语言中建立六边形矩阵热图heatmap可视化

    原文链接:http://tecdat.cn/?p=18879 这是一个六边形热图可视化程序,主要用到的知识RColorBrewer,fields,也就是R中的可视化绘图库(点击文末"阅读原文 ...

  2. R语言中主要的颜色对照图

    R语言作图,颜色的选择是比较头疼的事情,以下向大家分享R语言中主要的几百种颜色对照图.

  3. 如何在R语言中进行中文编程

    又发现了个好玩的hiahiahia: 给四个例子,大家看了例子应该都能会用中文写r语言: 例1 预定义: # 定义函数 "生成正态分布随机数"<-function(数量=1, ...

  4. Matlab快速绘制类似R语言中的散点密度图

    此前已经发布过博客 Matlab绘制散点密度图,其主要思路是计算每个点周围一定范围内的点个数.对于数据量较小时,该博客 Matlab绘制散点密度图 中的内容都能比较好的解决小数据量的问题,用时也在可接 ...

  5. R语言绘制圈图、环形热图可视化基因组实战:展示基因数据比较

    最近我们被客户要求撰写关于基因组的研究报告,包括一些图形和统计输出. 可以使用环状图形展示基因数据比较.可以添加多种图展信息,如热图.散点图等. 本文目标: 可视化基因组数据 制作环形热图 环形热图很 ...

  6. ggplot2如何在R语言中绘制表格

    偶尔我想在R中的图表旁边绘制一个表格,例如,显示图表本身的摘要统计数据.非常简单.该函数tableGrob创建像一个数据帧的曲线图表,显示在ggplot2图形对象的网页上. 这是一个小例子: p+ + ...

  7. 如何在R语言中读取数据

    读取数据有以下几种方式: 1.最常用的是采用读取表格数据的函数 read.table()以及read.csv()..这些函数读取一种以行列的格式存储数据的文本文件,然后在R中返回一个数据框. 2.re ...

  8. R语言|冗余分析(RDA)到底如何应用?如何在R语言中实现?

    冗余分析(RDA)排序分析应用的例子 冗余分析(The Redundant analysis,RDA),属于一种约束排序分析.与PCA.PCoA.CA及NMDS等非约束排序方法不同的是:RDA分析涉及 ...

  9. tmap | R语言中专门绘制地图的工具包

    tmap工具包的名称是Thematic Maps的缩写,是R中专门绘制地图的工具包.该包语法与ggplot2包比较类似,都是通过符合+来进行图层叠加. 加载示例数据: library(tidyvers ...

  10. 《R语言编程艺术》——1.4 R语言中一些重要的数据结构

    1.4 R语言中一些重要的数据结构 R有多种数据结构.本节将简单介绍几种常用的数据结构,使读者在深入细节之前先对R语言有个大概的认识.这样,读者至少可以开始尝试一些很有意义的例子,即使这些例子背后更多 ...

最新文章

  1. 前端界面的rem适配换算
  2. 影响软件测试未来的5件事 (译)
  3. java uri_Android中的Uri与Java中的URI类
  4. [react] 同时引用这三个库react.js、react-dom.js和babel.js它们都有什么作用?
  5. 互联生活:业务模式聚焦
  6. 力扣1009.十进制整数的反码
  7. LINUX mysql 源码安装
  8. Shiro 的 HelloWorld
  9. Repast——Agent对象换成图标和显示属性问题
  10. Exce如何行内随机排序确定出场顺序
  11. 全球数据共享网站集合
  12. poj--1625Censored!+AC自动机上的dp+大数
  13. URL deconding URL解码
  14. 联想突围:老外主守、本土主攻
  15. KSO-2022年2月份PYPL编程语言排行榜
  16. 网页木马客星 v1.0 绿色
  17. Suzy找到实习了吗 Day23 | 二叉树最后一节!669. 修剪二叉搜索树,108. 将有序数组转换为二叉搜索树,538. 把二叉搜索树转换为累加树
  18. 2019年一月十日 Mixin Network 资产持有量快照
  19. java教程 电子工业出版社_Java程序设计实用教程
  20. 【程序】STM32F407VE单片机通过FSMC驱动Ilitek ILI9325液晶屏以及XPT2046触控芯片

热门文章

  1. [翻译] SSKeychain
  2. 读书笔记18:命令模式
  3. 毕业照还可以这样玩()
  4. C++--第20课 - 函数模板
  5. NATS--NATS Streaming持久化
  6. jquery里判断数组内是否包含了指定的值或元素的方法
  7. Linux 系统服务之间 实现免密登陆
  8. Java专业人员必备工具 优缺点解析中文版
  9. Linux有问必答:如何查看Linux上程序或进程用到的库
  10. shell学习总结(1-4)