热门标签 | 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可视化



推荐阅读
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 本文详细介绍了 TensorFlow 的入门实践,特别是使用 MNIST 数据集进行数字识别的项目。文章首先解析了项目文件结构,并解释了各部分的作用,随后逐步讲解了如何通过 TensorFlow 实现基本的神经网络模型。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
  • 在上一篇文章中,我们初步探讨了神经网络的基础概念,并通过一个简单的例子——将摄氏度转换为华氏度——介绍了单个神经元的工作原理。本文将继续探索神经网络的应用,特别是如何构建一个基本的分类器。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 如何用GPU服务器运行Python
    如何用GPU服务器运行Python-目录前言一、服务器登录1.1下载安装putty1.2putty远程登录 1.3查看GPU、显卡常用命令1.4Linux常用命令二、 ... [详细]
  • 在Word中编辑复杂的数学公式常常让人感到头疼,尤其是处理偏微分方程(PDE)等高级数学内容时。然而,最近GitHub上的一个开源项目latexify_py展示了如何利用Python轻松生成LaTeX数学公式,极大地简化了这一过程。 ... [详细]
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社区 版权所有