小言_互联网的博客

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

513人阅读  评论(0)

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

 

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

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

您必须根据自组织神经网络(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映射相同的列数,并且热图中的每个值表示一个六边形的值
  7. #在这里[1,1]将成为左下节点(第一行,第一列),[1,2]将成为右节点[2,1]将成为第二行左侧的第一个节点
  8. #因此,从视觉上看,可以从左下到右上工作
  9. #SOM的行数和列数
  10. Rows <- dim(map_Matrix)[1]
  11. Columns <- dim(map_Matrix)[2]
  12. #为图例腾出空间
  13. par(mar = c(0.2, 2 , 2 , 7 ))
  14. #启动绘图窗口,但确实显示绘图上的所有轴或点
  15. plot(0, 0 , type = "n" , axes = FALSE , xlim=c(0, Columns),
  16. ylim=c(0, Rows), xlab="", ylab= "" , asp=1)
  17. #创建调色板
  18. #我使用designer.colors在Brewer中允许的最大数量的数值之间插入50种颜色
  19. ColRamp <- rev(designer.colors(n=50, col=brewer.pal(9, "Spectral" ) )
  20. #制作一个向量,其长度(ColRamp)的bin数在x的最小值与最大值之间.
  21. #接下来,将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 + offset, row - 1, col = ColorCode[ row + Rows * column] )
  30. offset <- ifelse(offset, 0, 0.5 )
  31. }
  32. #在右侧添加图例
  33. 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可视化

 


转载:https://blog.csdn.net/qq_19600291/article/details/105901111
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场