【python数据挖掘课程】十五.Matplotlib调用imshow()函数绘制热图

本文介绍了Python数据挖掘课程中利用Matplotlib的imshow()函数绘制热图的相关知识,包括Matplotlib的基本回顾和imshow()函数的详细用法,如设置不同类型的图表、颜色映射和颜色条等。通过示例代码展示了如何创建和定制热图,并推荐了相关资源和后续研究方向,如人类动力学分析和图像处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面系列文章讲过数据挖掘的各种知识,最近在研究人类时空动力学分析和幂率定律,发现在人类兴趣转移模型中,可以通过热图(斑图)来进行描述的兴趣转移,如下图所示。下一篇文章将简单普及人类动力学相关知识研究。

这篇文章结合Matplotlib的imshow()函数,讲述热图(斑图)绘制及相关参数基础知识。希望文章对你有所帮助,如果文章中存在错误或不足之处,还请海涵。

该系列github完整代码地址,欢迎点Star,谢谢!
GitHub - eastmountyxz/Python-for-Data-Mining: 该资源为作者在优快云的撰写Python数据挖掘和数据分析文章的支撑,主要是Python实现数据挖掘、机器学习、文本挖掘等算法代码实现,希望该资源对您有所帮助,一起加油。
 

前文推荐:

### 如何使用 `heatmap` 函数绘制不显示数值的 在 R 语言中,`heatmap` 和其他扩展包中的函数(如 `heatmap.2` 或者第三方库)提供了多种参数来控制的行为和外观。如果希望隐藏上的数值,则可以通过调整特定参数实现。 #### 使用基础 `heatmap` 函数 默认情况下,R 的基础 `heatmap` 函数不会直接展示单元格内的具体数值[^4]。因此,在大多数场景下无需额外操作即可满足需求: ```r data <- matrix(rnorm(100), nrow=10, ncol=10) heatmap(data, scale="none", Rowv=NA, Colv=NA) # 不会显示任何数字 ``` 上述代码通过指定 `scale="none"` 来禁用颜色缩放,并移除树状以简化输出效果。 --- #### 使用增强版 `heatmap.2` 隐藏数值 对于更高级的功能,可以考虑来自 `gplots` 库的 `heatmap.2` 函数。尽管该函数支持更多的自定义选项,但它同样允许我们轻松隐藏数值。以下是具体的实现方法: ```r library(gplots) # 创建随机数据集 expr_data <- matrix(runif(100), nrow=10, ncol=10) # 绘制无数值显示的 heatmap.2(expr_data, col=topo.colors(75), scale="none", key=TRUE, symkey=FALSE, density.info="none", trace="none", cexRow=0.5, cellnote=NULL) # 关键参数:cellnote 设置为空值即隐藏数值 ``` 在此配置中,`cellnote=NULL` 是关键所在——它确保了即使存在底层数据也不会被渲染到形上[^1]。 --- #### PythonMatplotlib 实现方式 如果你正在使用 Python 并希望通过 `matplotlib` 完成类似的任务,那么也可以简单地忽略文本标记部分。例如下面这段代码展示了如何仅呈现色彩而省略掉所有附加文字说明: ```python import matplotlib.pyplot as plt import numpy as np # 构建测试数据 data = [[1, 0.5, 0.7], [0.1, 0.2, 0.3]] # 显示像但不添加任何注解 plt.imshow(data, cmap='hot', interpolation='nearest') plt.colorbar() plt.xticks([]) plt.yticks([]) # 移除坐标轴刻度进一步减少干扰项 plt.show() ``` 这里的关键在于未调用诸如 `annotate()` 这样的命令去插入实际的数据值作为标签[^3]。 --- #### MATLAB 下的操作指南 最后提到MATLAB环境里边,默认生成的 Heatmap 对象也具备类似的灵活性。要达到相同目的只需避免设定 'CellLabel' 属性或者将其置空字符串向量即可: ```matlab % 假设已有矩阵 TData 存储目标资料... hFig = figure; hmObj = heatmap(TData,'ColorScaling','logarithmic'); % 创建对象实例时不传递 CellLabels 参数 title('Example Without Numbers'); xlabel('X-Axis Title'); ylabel('Y-Axis Label'); colorbar; % 添加配色条辅助理解渐变含义 set(gca,'XTickLabel',{''},'YTickLabel',{}) ; % 清理不必要的网格线描述以防混淆视线 ``` 注意以上脚本片段并未显式指派任意形似于 `{value}` 形式的字段给 hmObj.CellLabels 成员变量从而自然避开了打印过程[^2]. --- ### 总结 无论是在哪种编程环境中作,只要合理运用相应API所提供的开关机制就能有效达成隐匿原始数据点的效果。无论是R里的 `cellnote`, python下的绘逻辑还是Matlab内部的对象属性管理都体现了这一点的重要性.
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eastmount

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值