如何使用Julia绘制指定样式的相关矩阵热力图
Julia 矩阵热力图实现方案
1. 前置依赖安装
首先安装绘图所需的第三方包,运行以下代码即可:
using Pkg Pkg.add(["Plots", "LaTeXStrings"])
2. 完整实现代码
以下代码可直接运行,输出样式匹配带单元格数值标注、索引对齐的矩阵热力图需求,你可以将示例矩阵替换为自己的目标矩阵:
using Plots, LaTeXStrings # 替换为你自己的目标矩阵数据 demo_matrix = [ 1 0 0 0.2 0.3; 0 1 0 0.1 0.1; 0 0 1 0.2 0.4; 0.2 0.1 0.2 1 0; 0.3 0.1 0.4 0 1 ] n_row, n_col = size(demo_matrix) # 绘制热力图 heatmap(demo_matrix, # 矩阵行索引从上到下递增,匹配常规矩阵展示逻辑 yflip = true, # 添加边框区分单元格 framestyle = :box, # 配色方案,可自行替换为:coolwarm/:blues等其他Plots支持的配色 c = :viridis, colorbar = true, # 坐标轴标签设置,不需要LaTeX格式可以直接传普通字符串 xlabel = "矩阵列索引", ylabel = "矩阵行索引", title = "矩阵热力图", # 刻度和矩阵索引对齐 xticks = 1:n_col, yticks = 1:n_row, # 单元格内标注对应数值,调整digits参数可修改保留小数位数 annotations = [(j, i, text(round(demo_matrix[i,j], digits=1), 8, :white)) for i in 1:n_row for j in 1:n_col], size = (600, 500) ) # 可选:将生成的热力图保存到本地 savefig("matrix_heatmap.png")
其中yflip = true是保证矩阵展示逻辑符合常规使用习惯的核心参数,不要随意删除
3. 自定义调整说明
- 如果你不需要单元格内的数值标注,直接删除
annotations参数即可 - 数值标注的字体大小、颜色可以通过修改
text()内的参数调整,比如把:white换成:black适配浅色系配色 - 画布尺寸可以通过调整
size参数的两个数值修改,分别对应宽度和高度 - 若不需要LaTeX格式的标签,直接删除
LaTeXStrings的引用,将标签内容替换为普通字符串即可
内容的提问来源于stack exchange,提问作者Vautrin Balzac
相关产品推荐
相关产品推荐

