python使用matplotlib绘制热图

python常用的绘图库就是matplotlib,今天在给公司绘图时,偶然间发现matplotlib可以绘制热图,并且十分简洁,拿出来跟大家分享一下。(由于涉及到公司数据问题,这里采用随机数生成数据进行实验)

import random

from matplotlib import pyplot as plt

from matplotlib import cm

from matplotlib import axes

from matplotlib.font_manager import FontProperties

font = FontProperties(fname='/Library/Fonts/Songti.ttc')

def draw():

#定义热图的横纵坐标

xLabel = ['A','B','C','D','E']

yLabel = ['1','2','3','4','5']

#准备数据阶段,利用random生成二维数据(5*5)

data = []

for i in range(5):

temp = []

for j in range(5):

k = random.randint(0,100)

temp.append(k)

data.append(temp)

#作图阶段

fig = plt.figure()

#定义画布为1*1个划分,并在第1个位置上进行作图

ax = fig.add_subplot(111)

#定义横纵坐标的刻度

ax.set_yticks(range(len(yLabel)))

ax.set_yticklabels(yLabel, fontproperties=font)

ax.set_xticks(range(len(xLabel)))

ax.set_xticklabels(xLabel)

#作图并选择热图的颜色填充风格,这里选择hot

im = ax.imshow(data, cmap=plt.cm.hot_r)

#增加右侧的颜色刻度条

plt.colorbar(im)

#增加标题

plt.title("This is a title", fontproperties=font)

#show

plt.show()

d = draw()

效果图如下:

为了更清晰地看出二维数值矩阵与热图之间的对应关系,我们输出二维矩阵:

[[17, 96, 11, 99, 83], [18, 17, 58, 18, 80], [87, 79, 15, 53, 4], [86, 53, 48, 36, 23], [25, 4, 94, 100, 71]]

从对应关系我们可以看出,图像的左上角为坐标原点,第一行对应的二维矩阵中的第一行数据,以此类推。

同时我们可以看出数值越大的单元,对应热图中的颜色越深。其实这是一个可选项,只需要改变im = ax.imshow(data, cmap=plt.cm.hot_r)中的参数cmap为hot_r,其中_r的意思是就是按照颜色越深,数值越大,如果想数值越大,颜色越浅,只需要去掉_r,直接为hot就行。同时这个hot是热图配色的其中一个主题,主题色参数可选:

hot 从黑平滑过度到红、橙色和黄色的背景色,然后到白色。

cool 包含青绿色和品红色的阴影色。从青绿色平滑变化到品红色。

gray 返回线性灰度色图。

bone 具有较高的蓝色成分的灰度色图。该色图用于对灰度图添加电子的视图。

white 全白的单色色图。

spring 包含品红和黄的阴影颜色。

summer 包含绿和黄的阴影颜色。

autumn 从红色平滑变化到橙色,然后到黄色。

winter 包含蓝和绿的阴影色。

右侧的颜色刻度条colorbar也是可选的,如果不写就不会显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python画矩阵热图_如何用python的matplotlib绘制热图相关推荐

  1. graphpad prism画折线图_如何用 Graphpad Prism 5 绘制生存图?

    今天讲讲如何用 Graphpad Prism 5 制作生存曲线,摆脱用 EXCEL 和 PPT 做图的习惯. 生存曲线图我们经常能在文献中看到,如下图是一篇在新英格兰杂志中的一个生存图,好像是 EXC ...

  2. python画出一个梅花_如何用Python画一棵漂亮的树

    Tree 海龟绘图turtle 在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言--LOGO语言,它的特色就是通过编程指挥一个小海龟(turtl ...

  3. python画圆填色_如何用python在图像上绘制不同笔触和填充颜色的文本?

    How can I draw text with different stroke and fill colors on images with python? Here is some text w ...

  4. 用python画出简单笑脸_如何用Python画滑稽笑脸!

    用turtle画滑稽 from turtle import* setup(600,600,200,200) #脸 penup() goto(-210,0) seth(-90) pendown() pe ...

  5. 用python画个三维地球_如何用Python制作三维散点图?

    你可以用matplotlib为此,matplotlib有一个mplot3d模块,它将完全按照您的要求执行.from matplotlib import pyplot from mpl_toolkits ...

  6. python画出一个梅花_如何用python画一朵花?

    import math try: from swampy.TurtleWorld import * # 需要执行 pip install Swampy except ImportError: from ...

  7. graphpad prism画折线图_如何用Graphpad Prism 8作折线图

    如何用Graphpad Prism 8作折线图 如何用Graphpad Prism 8作折线图 Prism 8 有8种数据类型,Prism数据表的格式决定可制作的图表种类和可执行的分析类型.选择一个数 ...

  8. 用python画动态三维轨迹_Python学习(一) —— matplotlib绘制三维轨迹图

    在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...

  9. python画画用哪个软件_如何用python画韦恩图? 使用python的tutul工具,画一朵雏菊花...

    使用python的tutul工具,画一朵雏菊花 如何用python画韦恩图?不管什么时候,给心留一点空间.人生一世,不用什么都要去争,不是什么都要去抢,欲望少一点,满足多一点,这样才会活得潇洒一点,人 ...

最新文章

  1. 高并发大型网站架构设计
  2. 人工智能浪潮褪去,冲刺IPO成AI企业生存关键?
  3. 聊聊storm的AggregateProcessor的execute及finishBatch方法
  4. 设计模式复习-解释器模式
  5. VS2017离线包下载
  6. 郑州志泽网络科技--SSH模拟试题
  7. loading 遮罩demo
  8. python遍历获取一个类的所有子类
  9. Spark基础学习笔记16:创建RDD
  10. JavaScript MD5加密实现
  11. 人工智能常用英文缩写
  12. STM32超低功耗入门之认识超低功耗
  13. 【Pandas 基础知识 数据修改总结】
  14. vue操作dom元素的三种方法介绍和分析
  15. 【FinE】统计与计量指标计算(Matlab)
  16. 王者荣耀头像大小怎么调?调整图片尺寸大小工具分享
  17. [转]AJAX基础教程
  18. 剖析中移动未来之路之二
  19. 【每日一练】day(7)
  20. 【翻译】(15)菜单

热门文章

  1. CT医学影像的窗高窗位、CT值(Hu值)
  2. 公有链规模可扩展性的讨论 PPT
  3. 一种常规的四芯或多芯排线的线序检测电路
  4. 向Gitlab项目工程提交代码时出现无法推送的问题
  5. 携程编程大赛预赛第二场
  6. 开曼丨鞘氨醇-1-磷酸说明书
  7. TokenGazer 深度研究 | Harmony:技术层面有一定创新 生态发展仍需时间验证
  8. 嵌入式设备显示屏相关概念汇总
  9. 设计色计算机色相对比知识,色彩要合理运用!色相对比原理!
  10. 微信小程序checkbox被挤压变形解决办法