前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析之Seaborn(热图绘制)

Python数据分析之Seaborn(热图绘制)

作者头像
AI异构
发布2020-07-29 11:16:00
4.6K0
发布2020-07-29 11:16:00
举报
文章被收录于专栏:AI异构

Seaborn热图绘制

代码语言:javascript
复制
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np;
np.random.seed(0)
import seaborn as sns;
sns.set()
热图基础
代码语言:javascript
复制
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
  • linewidths,热力图矩阵之间的间隔大小
  • vmax,vmin, 图例中最大值和最小值的显示值,没有该参数时默认不显示
  • cmap:matplotlib的colormap名称或颜色对象;如果没有提供,默认为cubehelix map (数据集为连续数据集时) 或 RdBu_r (数据集为离散数据集时)
  • center:将数据设置为图例中的均值数据,即图例中心的数据值;通过设置center值,可以调整生成的图像颜色的整体深浅;设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变
  • xticklabels: 如果是True,则绘制dataframe的列名。如果是False,则不绘制列名。如果是列表,则绘制列表中的内容作为xticklabels。 如果是整数n,则绘制列名,但每个n绘制一个label。 默认为True。
  • yticklabels: 如果是True,则绘制dataframe的行名。如果是False,则不绘制行名。如果是列表,则绘制列表中的内容作为yticklabels。 如果是整数n,则绘制列名,但每个n绘制一个label。 默认为True。默认为True。
  • annotate的缩写,annot默认为False,当annot为True时,在heatmap中每个方格写入数据
  • annot_kws,当annot为True时,可设置各个参数,包括大小,颜色,加粗,斜体字等
  • fmt,格式设置
代码语言:javascript
复制
uniform_data = np.random.rand(3, 3) #生成数据
print (uniform_data)
heatmap = sns.heatmap(uniform_data) # 生成热力图
代码语言:javascript
复制
[[ 0.64272796  0.0229858   0.21897478]
 [ 0.41076627  0.28860677  0.94805105]
 [ 0.96513582  0.57781451  0.96400349]]
代码语言:javascript
复制
# 改变颜色映射的值范围
ax = sns.heatmap(uniform_data, vmin=0.2, vmax=1)
代码语言:javascript
复制
#为以0为中心的数据绘制一张热图
ax = sns.heatmap(uniform_data, center=0)
案例分析
代码语言:javascript
复制
flights = sns.load_dataset("flights") #加载航班数据集
flights.head() #显示部分数据
代码语言:javascript
复制
flights = flights.pivot("month", "year", "passengers") #修改数据排列
flights.head()
代码语言:javascript
复制
ax = sns.heatmap(flights) #绘制热图
代码语言:javascript
复制
ax = sns.heatmap(flights, annot=True,fmt="d") #在heatmap中每个方格写入数据,按照整数形式
代码语言:javascript
复制
ax = sns.heatmap(flights, linewidths=.5) #热力图矩阵之间的间隔大小
代码语言:javascript
复制
ax = sns.heatmap(flights, cmap="YlGnBu") #修改热图颜色
代码语言:javascript
复制
ax = sns.heatmap(flights, cbar=False) #不显示热图图例

参考

[Style functions]http://seaborn.pydata.org/tutorial/aesthetics.html#aesthetics-tutorial

[Color palettes]http://seaborn.pydata.org/tutorial/color_palettes.html#palette-tutorial

[Distribution plots]http://seaborn.pydata.org/tutorial/distributions.html#distribution-tutorial

[Categorical plots]http://seaborn.pydata.org/tutorial/categorical.html#categorical-tutorial

[Regression plots]http://seaborn.pydata.org/tutorial/regression.html#regression-tutorial

[Axis grid objects]http://seaborn.pydata.org/tutorial/axis_grids.html#grid-tutorial [10分钟python图表绘制]https://zhuanlan.zhihu.com/p/24464836

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI异构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Seaborn热图绘制
    • 热图基础
      • 案例分析
      • 参考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档