原文链接:http://tecdat.cn/?p=18879
这是一个六边形热图可视化程序,主要用到的知识RColorBrewer,fields,也就是R中的可视化绘图库(点击文末“阅读原文”获取完整代码数据)。
本文希望SOM的结果以六边形热图可视化。让我向您展示如何在R中创建六边形热图!
您必须根据自组织神经网络(SOM)的结果来创建自己的变量 。输入变量 Heatmap_Matrix
变量是一个矩阵,可以作为热图的数字表示。
因此,矩阵具有与SOM映射相同的行数和与SOM映射相同的列数,并且热图中的每个值表示一个六边形的值。这里 [1,1]
将成为左下节点(第一行,第一列),[1,2]
将成为右侧的节点, 将成为 [2,1]
第二行中左侧的第一个节点,依此类推。因此,从视觉上看,顺序从左下到右上,而在矩阵中,则从左上到右下。
点击标题查阅往期内容
数据分享|数据视角可视化分析豆瓣电影评分爬虫数据
左右滑动查看更多
01
02
03
04
码
library(RColorBrewer) #使用brewer.pal
library(fields) #使用designer.colors
#为每个六角形创建多边形的功能
#从一个矩阵开始,该矩阵将作为您的热图的数字表示形式,称为Heatmap_Matrix
x <- 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中创建自己漂亮的热图。
点击文末“阅读原文”
获取全文完整代码数据资料。
本文选自《如何在R语言中建立六边形矩阵热图heatmap可视化》。
点击标题查阅往期内容
KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最佳聚类数
PYTHON条件生存森林模型CONDITIONAL SURVIVAL FOREST分类预测客户流失交叉验证可视化|数据分享
杭州出租车行驶轨迹数据空间时间可视化分析
【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享
R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化生成GIF动画
圆堆图circle packing算法可视化分析电商平台网红零食销量爬虫采集数据
R语言在BRFSS数据中可视化分析探索糖尿病的影响因素
数据可视化分析案例:探索BRFSS电话调查数据
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
R语言计算资本资产定价模型(CAPM)中的Beta值和可视化
R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图
R语言时变向量自回归(TV-VAR)模型分析时间序列和可视化
R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化生成GIF动画
R语言信用风险回归模型中交互作用的分析及可视化
R语言生存分析可视化分析
R语言线性回归和时间序列分析北京房价影响因素可视化案例
R语言用温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
R语言动态图可视化:如何、创建具有精美动画的图
R语言中生存分析模型的时间依赖性ROC曲线可视化
python主题建模可视化LDA和T-SNE交互式可视化
R语言时间序列数据指数平滑法分析交互式动态可视化
用R语言制作交互式图表和地图
如何用r语言制作交互可视化报告图表
【数据分享】数据驱动营销活动:最优子集筛选有价值的客户信息
数据感知游客的森林公园游憩需求
数据盘点高校新生录取情况
调查数据倾听大学生外卖需求
数据挖掘:香水电商销售策略分析
新零售消费者特征的数据视野
数据聚焦护士职业满意度
数据分析促进白血病预测诊断
移动广告中基于点击率的数据策略
bilibili视频流量数据潜望镜
数据观察“双十一”网购新常态
数据解锁职场女性潜力
数据视域下图书馆话题情感分析
数据类岗位需求的数据面
数据度量消费贷款—消费者的考虑因素
数据探析期刊文章研究热点
疫情下的新闻数据观察
已迁离北京外来人口的数据画像