热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c++二维矩阵转vector_如何在R语言中建立六边形矩阵热图heatmap可视化

原文链接:http:tecdat.cn?p18879​tecdat.cn这是一个六边形热图可视化程序,主要用到的知识RColorBrewer࿰

原文链接:

http://tecdat.cn/?p=18879​tecdat.cn


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

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

4a7023bf6c1a6e685fbabada640cd35a.png

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

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


  1. library(RColorBrewer) #使用brewer.pal

  2. library(fields) #使用designer.colors

  3. #为每个六角形创建多边形的功能

  4. #从一个矩阵开始,该矩阵将作为您的热图的数字表示形式,称为Heatmap_Matrix

  5. x <- as.vector(map_Matrix)

  6. #此矩阵具有与SOM映射相同的行数和与SOM映射相同的列数&#xff0c;并且热图中的每个值表示一个六边形的值

  7. #在这里[1,1]将成为左下节点&#xff08;第一行&#xff0c;第一列&#xff09;&#xff0c;[1,2]将成为右节点[2,1]将成为第二行左侧的第一个节点

  8. #因此&#xff0c;从视觉上看&#xff0c;可以从左下到右上工作

  9. #SOM的行数和列数

  10. Rows <- dim(map_Matrix)[1]

  11. Columns <- dim(map_Matrix)[2]

  12. #为图例腾出空间

  13. par(mar &#61; c(0.2, 2, 2, 7))

  14. #启动绘图窗口&#xff0c;但确实显示绘图上的所有轴或点

  15. plot(0, 0, type &#61; "n", axes &#61; FALSE, xlim&#61;c(0, Columns),

  16. ylim&#61;c(0, Rows), xlab&#61;"", ylab&#61; "", asp&#61;1)

  17. #创建调色板

  18. #我使用designer.colors在Brewer中允许的最大数量的数值之间插入50种颜色

  19. ColRamp <- rev(designer.colors(n&#61;50, col&#61;brewer.pal(9, "Spectral") )

  20. #制作一个向量&#xff0c;其长度&#xff08;ColRamp&#xff09;的bin数在x的最小值与最大值之间.

  21. #接下来&#xff0c;将x中的每个点与ColorRamp中的一种颜色进行匹配

  22. ColorCode <- rep("#FFFFFF", length(x)) #默认为全白

  23. for (i in 1:length(x))

  24. if (!is.na(x[i])) ColorCode[i] <- ColRamp[which.min(abs(Bins-x[i]))]

  25. #在图上实际绘制六角形多边形

  26. offset <- 0.5 #向上移动时六边形的偏移量

  27. for (row in 1: Rows) {

  28. for (column in 0:( Columns - 1))

  29. agon(column &#43; offset, row - 1, col &#61; ColorCode[row &#43; Rows * column])

  30. offset <- ifelse(offset, 0, 0.5)

  31. }

  32. #在右侧添加图例

  33. image(legend.only&#61;TRUE, col&#61;ColRamp, zlim&#61;c(min(x, na.rm&#61;T), max(x, na.rm&#61;T)))
537581f0e4eb2d47972be11505331a98.png

能够读取颜色含义的图例

在最后&#xff0c;创建图例&#xff0c;您将获得与上图类似的热图。

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


7e635672713c7adaa54616b5f6ac08af.png

最受欢迎的见解

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

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

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

4.r语言对布丰投针&#xff08;蒲丰投针&#xff09;实验进行模拟和动态

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

6.r语言数据可视化分析案例&#xff1a;探索brfss数据数据分析

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

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

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



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 读手语图像识别论文笔记2
    文章目录一、前言二、笔记1.名词解释2.流程分析上一篇快速门:读手语图像识别论文笔记1(手语识别背景和方法)一、前言一句:“做完了&#x ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • Highcharts翻译系列之二十:曲线图例子(二)
    Highcharts翻译系列之二十:曲线图例子(二)代码 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
author-avatar
无极圈颜汐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有