手把手教你用python绘制热度图(heatmap)

目录
  • 1、简单的代码
  • 2、添加X轴和Y轴标签和标题:
  • 3、对右侧的色条(colorbar)进行调整:
  • 4、修改色条的刻度值和标签的字体大小、颜色:
  • 5、对热度图显示数值和添加网格线:
  • 6、 定义热度图的配色板
  • 总结

1、简单的代码

from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd

#练习的数据:
data=np.arange(25).reshape(5,5)
data=pd.DataFrame(data)

#绘制热度图:
plot=sns.heatmap(data)

plt.show()

查看效果:

2、添加X轴和Y轴标签和标题:

plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)

查看效果:

3、对右侧的色条(colorbar)进行调整:

在heatmap里添加关键字参数cbar_kws,这个参数对应是一个字典,字典的内容传递给类Colorbar。这个类就是被调用来绘制色条的。

from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd

#练习的数据:
data=np.arange(-18,18).reshape(6,6)
data=pd.DataFrame(data)

#设置色条的刻度:
tick_=np.arange(-20,20,5).astype(float)

#编辑做为参数的字典:
dict_={'orientation':'vertical',"label":"color  \
scale","drawedges":True,"ticklocation":"top","extend":"min", \
"filled":True,"alpha":0.8,"cmap":"cmap","ticks":tick_}

#将字典传入给参数cbar_kws:
cmap=sns.heatmap(data,cbar_kws=dict_,center=0)

#添加标题和标签:
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)

plt.show()

查看效果:

这里的orientation(定位)参数对应的参数值有vertical(垂直)和 horizontal(水平),可以调整色条的放置状态,ticks参数传递色条的刻度值。

4、修改色条的刻度值和标签的字体大小、颜色:

在Colorbar类里,没有直接的参数可以调整刻度字体的大小,所以无法通过关键字参数cbar_kws进行调整刻度字体大小。

但是可以调用Colorbar的ax类进行调整:

#调用Colorbar类:
cbar = cmap.collections[0].colorbar

#利用Colorbar类的axis类的方法,修改刻度大小和设置刻度颜色
cbar.ax.tick_params(labelsize=20,labelcolor="blue")
 

这里的cmap是用sns.heatmap()函数绘制热度图时赋予的对象

这里的关键步骤是cbar = cmap.collections[0].colorbar

得到的cbar.ax变量是matplotlib.axes._subplots.AxesSubplot类,和cmap变量一致

这里的cbar.ax连接到matplotlib.axis类,可以使用后者的方法

#修改色条标签的字体大小:
cbar.ax.ylabel(ylabe="color scale",size=20,color="red",loc="center")

plt.show()

查看效果:

实际上,这副热度图可以看做是两张图,左侧的热度图和右侧的色条。

5、对热度图显示数值和添加网格线:

from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
from matplotlib import colorbar

#练习的数据:
data=np.arange(-18,18).reshape(6,6)
data=pd.DataFrame(data)

#绘制热度图:
tick_=np.arange(-20,20,5).astype(float)
dict_={'orientation':'vertical',"label":"color  \
scale","drawedges":True,"ticklocation":"right","extend":"min", \
"filled":True,"alpha":0.8,"cmap":"cmap","ticks":tick_,"spaci,linewidths=0.5ng":'proportional'}
#绘制添加数值和线条的热度图:
cmap = sns.heatmap(data,linewidths=0.8,annot=True,fmt="d")
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)

#调整色带的标签:
cbar = cmap.collections[0].colorbar
cbar.ax.tick_params(labelsize=20,labelcolor="blue")
cbar.ax.set_ylabel(ylabel="color scale",size=20,color="red",loc="center")

plt.show()

查看效果:

6、 定义热度图的配色板

利用heatmapL里的参数cmap,较好看的参数有“YlGnBu”和“BuPu_r”:

要知道cmap有哪些参数,报一次错就可以了。

#练习的数据:
data=np.arange(-18,18).reshape(6,6)
flights=pd.DataFrame(data)

#设置一个1行2列的画图:
fig,ax=plt.subplots(1,2)

sns.heatmap(flights, cmap="YlGnBu",ax=ax[0])
sns.heatmap(flights, cmap="BuPu_r",ax=ax[1])

plt.show()

查看效果:

总结

到此这篇关于手把手教你用python绘制热度图(heatmap)的文章就介绍到这了,更多相关python绘制热度图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城市空气质量观测数据来源于:https://beijingair.sinaapp.com. 数据处理 从网站下载的数据为逐小时数据,每天一个文件.如果要绘制全年的日历图或者热图,首先要将所有的数据进行合并处理. 下载好数据之后,将数据解压到当前目录的2019文件夹内,然后处理数据: import gl

  • python热力图实现的完整实例

    目录 一.数据无量纲化处理 (热力图) 1.数据无量纲化处理(仅介绍本文用到的方法):min-max归一化 2.代码展示 3.效果展示 二.皮尔斯系数相关(热力图) 1.数学知识 2.代码展示 3.seaborn.heatmap属性介绍 4效果展示 总结 一.数据无量纲化处理 (热力图) 1.数据无量纲化处理(仅介绍本文用到的方法):min-max归一化 该方法是对原始数据进行线性变换,将其映射到[0,1]之间,该方法也被称为离差标准化. 上式中,min是样本的最小值,max是样本的最大值.由于

  • python pyheatmap包绘制热力图

    利用python pyheatmap包绘制热力图,供大家参考,具体内容如下 import matplotlib.pyplot as plt from pyheatmap.heatmap import HeatMap def plot_data(filename): with open(filename,'r') as fh: data=fh.read().split('\n') xs = [] ys = [] data_test=[] for line in data: line=line.st

  • python绘制中国大陆人口热力图

    这篇文章给出了如何绘制中国人口密度图,但是运行存在一些问题,我在一些地方进行了修改. 本人使用的IDE是anaconda,因此事先在anaconda prompt 中安装Basemap包 conda install Basemap 新建文档,导入需要的包 import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap from matplotlib.patches import Polygon from matpl

  • Python绘制热力图示例

    本文实例讲述了Python绘制热力图操作.分享给大家供大家参考,具体如下: 示例一: # -*- coding: utf-8 -*- from pyheatmap.heatmap import HeatMap import numpy as np N = 10000 X = np.random.rand(N) * 255 # [0, 255] Y = np.random.rand(N) * 255 data = [] for i in range(N): tmp = [int(X[i]), in

  • Python数据可视化Pyecharts制作Heatmap热力图

    目录 HeatMap:热力图 1.基本设置 2.热力图数据项 Demo 举例 1.基础热力图 本文介绍基于 Python3 的 Pyecharts 制作 Heatmap(热力图 时需要使用的设置参数和常用模板案例,可根据实际情况对案例中的内容进行调整即可. 使用 Pyecharts 进行数据可视化时可提供直观.交互丰富.可高度个性化定制的数据可视化图表.案例中的代码内容基于 Pyecharts 1.x 版本 . HeatMap:热力图 1.基本设置 class HeatMap( # 初始化配置项

  • python热力图实现简单方法

    在我们想要对不同变量进行判断的时候,会分析其中的之间的联系.这种理念同样也被用在实例生活中,最常见到的是做一个地理的热力图.很多人对画热力图的方法不是很清楚,我们可以先装好相关的工具,了解一些使用参数,然后在实例中进行画热力图的实例体验,下面就来看看具体的方法吧. 1.导入相关的packages import seaborn as sns %matplotlib inline sns.set(font_scale=1.5) 2.参数 vmax:设置颜色带的最大值 vmin:设置颜色带的最小值 c

  • python 绘制场景热力图的示例

    我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图. 下面以识别图片中的行人,并绘制热力图为例进行讲解. 步骤1:首先识别图像中的人,得到bounding box的中心坐标.识别方法多样化,坐标也可以自己定义. 步骤2:将所有中心坐标放入一个list类型的变量data中,即data = [[x1,y1] [x2,y2] -] 步骤3:绘制热力图,并将热力图加权叠加到原图上. 需要import的包: import cv2 import numpy as

  • python绘制热力图heatmap

    本文实例为大家分享了python绘制热力图的具体代码,供大家参考,具体内容如下 python的热力图是用皮尔逊相关系数来查看两者之间的关联性. #encoding:utf-8 import numpy as np import pandas as pd from matplotlib import pyplot as plt from matplotlib import cm from matplotlib import axes import pylab pylab.mpl.rcParams[

  • 手把手教你用python绘制热度图(heatmap)

    目录 1.简单的代码 2.添加X轴和Y轴标签和标题: 3.对右侧的色条(colorbar)进行调整: 4.修改色条的刻度值和标签的字体大小.颜色: 5.对热度图显示数值和添加网格线: 6. 定义热度图的配色板 总结 1.简单的代码 from matplotlib import pyplot as plt import seaborn as sns import numpy as np import pandas as pd #练习的数据: data=np.arange(25).reshape(5

  • 手把手教你使用Python绘制时间序列图

    目录 01从Quandl检索数据集 02绘制收盘价与成交量的关系图 03绘制烛台图 导读:分析时间序列数据的一种简单而有效的方法就是将时间序列数据可视化在一个图表上,这样我们就可以从中推断出某些假设.本文将以股价数据集为例,指导你从Quandl下载股价数据集,并将这些数据绘制在价格和成交量图表上.还将教大家绘制烛台图,比起直线图表,这将给我们更多的信息. 01从Quandl检索数据集 Quandl简介 Quandl是一个为金融.经济和另类数据服务的平台,这些数据由各种数据发布商提供,包括联合国.

  • 一篇文章教你学会使用Python绘制甘特图

    目录 优点 局限 一日一书 用来制作甘特图的专业工具也不少,常见的有:Microsoft Office Project.GanttProject.WARCHART XGantt.jQuery.Gantt.Excel等,网络上也有一些优质工具支持在线绘制甘特图. 可是这种现成的工具,往往也存在一些弊端,让编程人员不知所措.比如说,花里胡哨的UI,让人目不暇接,不知点哪个才好: 比如说,有些基于浏览器的图表需要掌握HTML.JS等编程语言,只会点Python的我直接被劝退: 再比如,进来就是注册.登

  • 手把手教你用python抢票回家过年(代码简单)

    首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就能获得你想要的火车票信息!如果你刚掌握了Python基础,这将是个不错的小练习. 接口设计 一个应用写出来最终是要给人使用的,哪怕只是给你自己使用.所以,首先应该想想你希望怎么使用它?让我们先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets好了.我们希望用户只要输入出发站,到达站以

  • PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.pyplot as plt import numpy as np values = [0.09,-0.05,0.20,-0.02,0.08,0.09,0.03,0.027] x = np.linspace(0,2*np.pi,9)[:-1] c = np.random.random(size=(8,3)

  • Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

    根据我们指定的条件检索函数中的元素 import matplotlib.pyplot as plt import numpy as np a = np.linspace(0, 2 * np.pi, 50) b = np.sin(a) plt.plot(a,b) #生成一个正弦函数图 mask = b >= 0 plt.plot(a[mask], b[mask], 'bo') #符合条件的标注蓝色圆点 mask = (b >= 0) & (a <= np.pi / 2) plt.p

  • python绘制雪景图

    本文实例为大家分享了python绘制雪景图的具体代码,供大家参考,具体内容如下 绘制雪景图,应用到turtle和random. from turtle import * from random import * # 绘制随机雪花 def DrawSnow(snow): x = randrange(-750, 750) y = randrange(-50, 400) snowcolor = (randrange(0, 255), randrange(0, 255), randrange(0, 25

  • python绘制彩虹图

    本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下 from turtle import * #控制彩虹路径 def path(pen, r, g, b): pen.penup() pen.goto(-400, -300) pen.pendown() pen.pencolor(r, g, b) pen.circle(1000, -180) pen.pensize(2) pen.right(0.05) #绘制彩虹控制颜色 def Rainbow(): pen = Tur

  • 手把手教你进行Python虚拟环境配置教程

    /1 前言/ 咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下. /2 虚拟环境的作用/ 咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下. 我们先来举个例子,来说明为什么需要虚拟环境.我们在学习Python的时候,可能会学到越来越多的第三方库,比如爬虫,我们需要安装requests,可能学着学着,我们还需要安装bs4,或者又学着学着,我们还需要安装

  • 用Python绘制漫步图实例讲解

    我们首先来看下代码: import matplotlib.pyplot as plt from random import choice class RandomWalk(): def __init__(self,num_points=5000): self.num_points=num_points self.x_values=[0] self.y_values=[0] def fill_walk(self): while len(self.x_values)<self.num_points:

随机推荐