【PYTHON】绘制热力图SEABORN.HEATMAP

这篇具有很好参考价值的文章主要介绍了【PYTHON】绘制热力图SEABORN.HEATMAP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

更多python资料、源码、教程皆可点击文章下方名片获取此处跳转

一、参数详解

seaborn.heatmap()

seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt=‘.2g’, annotkws=None, linewidths=0, linecolor=‘white’, cbar=True, cbarkws=None, cbar_ax=None, square=False, ax=None, xticklabels=True, yticklabels=True, mask=None, **kwargs)

data:矩阵数据集,可以使numpy的数组(array),如果是pandas的dataframe,则df的index/column信息会分别对应到heatmap的columns和rows
vmax,vmin, 图例中最大值和最小值的显示值,没有该参数时默认不显示
linewidths,热力图矩阵之间的间隔大小
cmap,热力图颜色
ax,绘制图的坐标轴,否则使用当前活动的坐标轴。
annot,annotate的缩写,annot默认为False,当annot为True时,在heatmap中每个方格写入数据。
annot_kws,当annot为True时,可设置各个参数,包括大小,颜色,加粗,斜体字等:
sns.heatmap(x, annot=True, ax=ax2, annot_kws={'size':9,'weight':'bold', 'color':'blue'}) 
fmt,格式设置,决定annot注释的数字格式,小数点后几位等;
cbar : 是否画一个颜色条
cbar_kws : 颜色条的参数,关键字同 fig.colorbar,可以参考:matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条。

mask,遮罩
  1. 先用sns.set(font_scale)修改字体比例:
sns.set(font_scale=1.5)
  1. 再用plt.rc对全图字体进行统一修改:
plt.rc('font',family='Times New Roman',size=12)

二、颜色参数-cmap

cmap的参数如下:

Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu(绿到蓝), GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd(橘色到红色), OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia(蓝绿黄), Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd(红橙黄), YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm(蓝到红), coolwarm_r, copper(铜色), copper_r, cubehelix, cubehelix_r, flag, flag_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r(红黄), hsv, hsv_r, icefire, icefire_r, inferno, inferno_r, jet, jet_r, magma, magma_r, mako, mako_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, rocket, rocket_r, seismic, seismic_r, spring, spring_r, summer (黄到绿), summer_r (绿到黄), tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, twilight, twilight_r, twilight_shifted, twilight_shifted_r, viridis, viridis_r,vlag, vlag_r, winter, winter_r

示范如下:
cmap=“hot”:黄色到红色,数字越大,颜色越浅
【PYTHON】绘制热力图SEABORN.HEATMAP

cmap=“OrRd”:深红色到浅红色,类似“Oranges”。

【PYTHON】绘制热力图SEABORN.HEATMAP
cmap=“greys”:灰色

【PYTHON】绘制热力图SEABORN.HEATMAP
cmap=“gist_rainbow”:彩虹色
【PYTHON】绘制热力图SEABORN.HEATMAP

将colormap置于特定值的中心(参考链接):

>>> ax = sns.heatmap(flights, center=flights.loc["January", 1955])

【PYTHON】绘制热力图SEABORN.HEATMAP
使用遮罩绘制矩阵中的一部分

>>> corr = np.corrcoef(np.random.randn(10, 200))

>>> mask = np.zeros_like(corr)

>>> mask[np.triu_indices_from(mask)] = True

>>> with sns.axes_style("white"):

... ax = sns.heatmap(corr, mask=mask, vmax=.3, square=True)

np.zeros_like() 返回一个零数组,其形状和类型与给定的数组相同;

np.triu_indices_from(mask) 返回数组上三角形的索引。
【PYTHON】绘制热力图SEABORN.HEATMAP
以下是一些网络上发现的配色好看的图:

# cmap用cubehelix map颜色

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, vmax=900, vmin=0, cmap=cmap)

【PYTHON】绘制热力图SEABORN.HEATMAP

# cmap用matplotlib colormap

sns.heatmap(pt, linewidths = 0.05, ax = ax2, vmax=900, vmin=0, cmap='rainbow')

【PYTHON】绘制热力图SEABORN.HEATMAP

#center的用法(颜色)

f, (ax1,ax2) = plt.subplots(figsize = (6, 4),nrows=2)

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, cmap=cmap, center=None )

【PYTHON】绘制热力图SEABORN.HEATMAP

#设置x轴图例为空值ax1.set_ylabel('kind')

# 当center设置小于数据的均值时,生成的图片颜色要向0值代表的颜色一段偏移

sns.heatmap(pt, linewidths = 0.05, ax = ax2, cmap=cmap, center=200)  

【PYTHON】绘制热力图SEABORN.HEATMAP

#robust的用法(颜色)

f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2)

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, cmap=cmap, center=None, robust=False )
sns.heatmap(pt, linewidths = 0.05, ax = ax2, cmap=cmap, center=None, robust=True ) 
#mask对某些矩阵块的显示进行覆盖

p2 = sns.heatmap(pt, ax=ax2, cmap=cmap, xticklabels=True, mask=(pt<800))  

#mask对pt进行布尔型转化,结果为True的位置用白色覆盖

【PYTHON】绘制热力图SEABORN.HEATMAP

用mask实现:突出显示某些数据
sns.heatmap(x, mask=x < 1, ax=ax2, annot=True, annot_kws={“weight”: “bold”}) #把小于1的区域覆盖掉

【PYTHON】绘制热力图SEABORN.HEATMAP

三、个性化设置

将x轴刻度放置在top位置的几种方法

# 将x轴刻度放置在top位置的几种方法

# ax.xaxis.set_ticks_position(‘top‘)

ax.xaxis.tick_top()

# ax.tick_params(axis=‘x‘,labelsize=6, colors=‘b‘, labeltop=True, labelbottom=False)

设置坐标轴刻度参数,”axis”不写的时候,默认是x轴和y轴的参数同时调整。

# 设置坐标轴刻度的字体大小

# matplotlib.axes.Axes.tick_params

ax.tick_params(axis=‘y‘,labelsize=8) # y轴

旋转轴刻度上文字方向的两种方法

# 旋转轴刻度上文字方向的两种方法

ax.set_xticklabels(ax.get_xticklabels(), rotation=-90)

# ax.set_xticklabels(corr.index, rotation=90)

四、代码

'''
深入挖掘
'''
font = {'family': 'Times New Roman',
        'size': 12,
        }
sns.set(font_scale=1.2)
plt.rc('font',family='Times New Roman')
 
 
fig = plt.figure(figsize = (16, 12))
ax1=fig.add_subplot(2,1,1)
cor = SubShowFeatures01.corr()
mask = np.zeros_like(cor)
for i in range(len(mask)):
    for j in range(i+1, len(mask[0])):
        mask[i][j] = True
 
sns.heatmap(cor,linewidths = 0.05, ax=ax1, mask=mask, annot=True, annot_kws=font, vmax=1.0, vmin=-1.0, cmap='YlGnBu', center=0.5, 
            cbar=True, robust=False)
ax1.set_title('User metric features', fontdict=font)
 
ax2=fig.add_subplot(2,1,2)
SubShowFeatures02 = pd.DataFrame({"Label":FerFeatures.Label, "PEM":FerFeatures.PEM, "PVAL":FerFeatures.PVAL, "NVAL":FerFeatures.NVAL, 
                            "NEM":FerFeatures.NEM, "DEP":FerFeatures.DEP, "AGR":FerFeatures.AGR, "CONV":FerFeatures.CONV,
                            "Cold":FerFeatures.Cold, "Warm":FerFeatures.Warm, "Pleasure":FerFeatures.Pleasure, 
                            "Arousal":FerFeatures.Arousal, "Dominance":FerFeatures.Dominance                         
                           })
cor = SubShowFeatures02.corr()
mask = np.zeros_like(cor)
for i in range(len(mask)):
    for j in range(i+1, len(mask[0])):
        mask[i][j] = True
sns.heatmap(cor,linewidths = 0.05, ax=ax2, mask=mask, annot=True, annot_kws=font, vmax=1.0, vmin=-1.0, cmap='YlOrRd', center=0)
ax2.set_title('User personality features', fontdict=font)
 
plt.show()

【PYTHON】绘制热力图SEABORN.HEATMAP文章来源地址https://www.toymoban.com/news/detail-485826.html

到了这里,关于【PYTHON】绘制热力图SEABORN.HEATMAP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • #Echarts:热力图 type: “heatmap“图例显示

    html js 效果

    2024年01月18日
    浏览(41)
  • 基于SpringBoot和HeatMap的全球地震热力图可视化实践

    目录 前言 一、关于热力图 1、HeatMap简介 2、属性和方法介绍 二、全球地震热力图反演 1、地震信息查询开发  2、前端地图开发 三、地震带反演成果 1、三大地震带反演 2、地震区域分析 总结         众所周知,全球的地震带主要可以分为三处地震带——环太平洋地震带、

    2024年03月26日
    浏览(78)
  • Python 折线图的绘制(Seaborn篇-04)

    Python 折线图的绘制(Seaborn篇-04)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔

    2024年01月21日
    浏览(51)
  • Python 绘制热力图——看完就会用

    @使用Python绘制热力图——Pycharm python绘制热力图简单教程,复制代码就能用,需要表格可以留言~~~ 格式如下:(需要这个表的可以留言~在后续操作时仅需改变表格数据就行) 热力图所需的相关矩阵 然后就可以画出这样的图 其中关于\\\"cmap颜色\\\"通常指的是在数据可视化中使用

    2024年02月03日
    浏览(38)
  • python中利用seaborn绘制概率分布直方图以及密度图

    当我们想要弄清楚变量的统计特性时,往往想知道它是服从什么分布的,这时候就需要绘制概率分布直方图 在python中我们可以使用 seaborn 库来进行绘制: Seaborn是一个基于matplotlib的Python数据可视化库。它为绘制有吸引力和信息丰富的统计图形提供了高级界面。 首先需要导入

    2024年02月16日
    浏览(58)
  • python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图

    旧版本(0.8.1)中使用tsplot,新版本中使用lineplot 直线代表均值,阴影代表mean±std(带有置信区间,参数ci) 不进行平滑处理 平滑处理 画mean+/- standard deviation(std)的曲线图。 导入需要的库:matplotlib 用matplotlib.pyplot画均值曲线(图里的实线) 根据方差,用“fill_between”命令设

    2024年01月23日
    浏览(84)
  • 【数据分析入门】Seaborn[散点图、条形图、计数图、热力图、箱型图、小提琴图]

       Seaborn 是 基于 matplotlib 开发 的高阶 Python 数据可视图库 ,用于绘制优雅、美观的统计图形。   使用下列别名导入该库:    使用 Seaborn 创建图形的基本步骤 :   1. 准备数据 :我们要 确保绘制的数据集 。   2. 设定画布外观 :在创建图形之前,我们可以 设定画

    2024年02月09日
    浏览(49)
  • Python遥感图像处理应用篇(二十四):Python绘制遥感图像各波段热力图(相关系数矩阵)

    给多光谱遥感图像各个波段绘制热力图,首先需要计算波段之间的相关系数矩阵,而计算遥感图像波段相关系数矩阵有不同的方法,常用的我们可以采用遥感图像处理软件计算,比如ENVI软件就可以计算相关系数矩阵,使用工具箱中的Statistics工具即可进行多种统计运算。 我们

    2023年04月09日
    浏览(51)
  • Python遥感图像处理应用篇(二十七):Python绘制遥感图像各波段热力图(相关系数矩阵)(续)

    续-https://soderayer.blog.csdn.net/article/details/125757807 上一篇中使用csv文件计算的相关系数热力图,本篇我们直接使用遥感图像来计算图像波段之间的相关系数。 实际上,目前已有的软件,如ENVI就可以直接计算图像波段之间的相关系数,该工具计算的是合成波段之间的相关系数。如

    2023年04月17日
    浏览(48)
  • 100天精通Python(可视化篇)——第97天:Pyecharts绘制多种炫酷热力图参数说明+代码实战

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/

    2024年02月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包