精华内容
下载资源
问答
  • seaborn 热力图

    2020-11-15 00:09:01
    import seaborn as sns path1 = 'a.npy' b = np.load(path1) # (n, 3) b= np.reshape(b,(8,8)) sns.heatmap(rank,cmap=cm.coolwarm,annot=True) plt.axis('off') plt.savefig('b.png') 效果
        import seaborn as sns
        path1 = 'a.npy'
        b = np.load(path1)  # (n, 3)
        b= np.reshape(b,(8,8))
        sns.heatmap(rank,cmap=cm.coolwarm,annot=True)
        plt.axis('off')
        plt.savefig('b.png')
    

    效果
    在这里插入图片描述

    展开全文
  • Python学习18----Seaborn热力图绘制

    千次阅读 2019-08-30 20:53:06
    Seaborn热力图绘制 代码详见https://github.com/RenDong3/Python_Note 1 热力图 1.1 默认风格 1.2 指定color bar上下限 1.3 指定center 2 实例分析 2.1 数据读取 2.2 数据转换及热力图绘制 2.3...

    Seaborn热力图绘制

    代码详见https://github.com/RenDong3/Python_Note

    1 热力图

    1.1 默认风格

    在这里插入图片描述

    1.2 指定color bar上下限

    在这里插入图片描述

    1.3 指定center

    在这里插入图片描述

    2 实例分析

    2.1 数据读取

    在这里插入图片描述

    2.2 数据转换及热力图绘制

    在这里插入图片描述
    在这里插入图片描述

    2.3 细节设置

    2.3.1 设置annot

    在这里插入图片描述

    2.3.2设置格子间距

    在这里插入图片描述

    2.3.3 设置color bar颜色

    在这里插入图片描述

    展开全文
  • Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计...注:所有代码均在IPython notebook中实现heatmap 热力图热力图在实际中常用于展示一组变量的相关系数矩阵,在展示列联表的数...

    49285156b67e2578a16d8e31d1a667b4.png

    Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。

    11e2ea417749c3198613351ffa8504a4.png

    注:所有代码均在IPython notebook中实现

    heatmap 热力图

    热力图在实际中常用于展示一组变量的相关系数矩阵,在展示列联表的数据分布上也有较大的用途,通过热力图我们可以非常直观地感受到数值大小的差异状况。heatmap的API如下所示:

    759e52e0e966084ed51bb0ffd7fadd34.png

    下面将演示这些主要参数的用法,第一件事还是先导入相关的packages。

    1import seaborn as sns
    2%matplotlib inline
    3sns.set(font_scale=1.5)

    本次演示采用的数据集是Seaborn中内置的flights航班数据集

    1#导入数据集后按年月两个维度进行数据透视
    2data=sns.load_dataset("flights")\
    3        .pivot("month","year","passengers"
    4data.head() 

    1fb27232420a60fad2e110d63380d9e5.png

    如上图所示,dataframe中的数据代表了1949年-1960年每个月的航班乘客数量,接下来热力图就隆重登场啦!

    1sns.set_context({"figure.figsize":(8,8)})
    2sns.heatmap(data=data,square=True
    3#可以看到热力图主要展示的是二维数据的数据关系
    4#不同大小的值对应不同的颜色深浅

    ad4fc5f2eee08971ee98e32d90515cd1.png

    热力图的右侧是颜色带,上面代表了数值到颜色的映射,数值由小到大对应色彩由暗到亮。从上面的heatmap中我们可以得到两层信息,一是随着时间的推移,飞机的乘客数量是在逐步增多的,二是航班的乘坐旺季在七月和八月份。下面就具体的参数进行演示。

    vmax:设置颜色带的最大值vmin:设置颜色带的最小值

    1sns.heatmap(data=data,vmin=200,
    2            vmax=500)

    32353a91abd7774a90bddeebb77ba7db.png

    可以看到右侧的颜色带最大最小值变了,而heatmap中颜色映射关系也会随之调整,将本图和上面的图进行对比便一目了然。

    cmap:设置颜色带的色系

    1sns.heatmap(data=data,cmap="RdBu_r")

    8b592388edf201a46379ba80c085d89f.png

    好像变好看了?

    center:设置颜色带的分界线

    1sns.heatmap(data=data,cmap="RdBu_r",
    2            center=300)

        01cedc5a5d1cb1292b334647336302a5.png

    细心的朋友可以察觉到颜色带上色彩两级的分界线变成了300

    annot:是否显示数值注释

    1sns.heatmap(data=data,annot=True,
    2            cmap="RdBu_r")

    dd59442dfdf32035f7e52f671282bfd3.png

    怎么回事?乱码了吗?其实数值注释默认显示的是科学记数法的数值,我们得把数值进行格式化,这就用到了下面的参数。

    fmt:format的缩写,设置数值的格式化形式

    1sns.heatmap(data=data,annot=True,
    2            fmt="d",cmap="RdBu_r")
    3#foramt为int类型

    be752c94e7dc30e831f6638a7318a270.png

    linewidths:控制每个小方格之间的间距

    1sns.heatmap(data=data,annot=True,
    2            fmt="d",linewidths=0.3,
    3            cmap="RdBu_r"
    4#可以看到每个小方格之产生了间隙

    34a38ded620df11c38bf906a39c8f8eb.png

    linecolor:控制分割线的颜色

    1sns.heatmap(data=data,annot=True,
    2            fmt="d",linewidths=0.3,
    3            linecolor="grey",cmap="RdBu_r")
    4#原来的白色间隙变成了灰色间隙

    772d89398f84d9c9ded3b59dff71f683.png

    cbar_kws:关于颜色带的设置

    1sns.heatmap(data=data,annot=True,
    2            fmt="d",cmap="RdBu_r",
    3            cbar_kws={"orientation":"horizontal"})  
    4#横向显示颜色帮

    2679685a99e1a43c81844ef4594b797d.png

    mask:传入布尔型矩阵,若为矩阵内为True,则热力图相应的位置的数据将会被屏蔽掉(常用在绘制相关系数矩阵图)

     1import numpy as np
    2#随机生成一个200行10列的数据集
    3data_new = np.random.randn(200,10)
    4
    5#求出这个数据集的相关系数矩阵
    6corr = np.corrcoef(data_new,rowvar=False)
    7
    8#以corr的形状生成一个全为0的矩阵
    9mask = np.zeros_like(corr)
    10
    11#将mask的对角线及以上设置为True
    12#这部分就是对应要被遮掉的部分
    13mask[np.triu_indices_from(mask)] = True
    14
    15with sns.axes_style("white"):
    16    sns.heatmap(corr, mask=mask, vmax=0.3
    17                annot=True,cmap="RdBu_r")

    6f576772d91d7da84a22cc0a3fecbc85.png

    如果大家对上面的代码流程不大了解,可以把mask打印出来看看

    a67355b5c4e366d99adbf8d581d599ea.png

    参照mask和上面绘制的图,应该就很容易理解了,mask中为1的部分,就是要被盖掉的部分。演示到此为止,想更深入的学习可以自行查阅官方文档!

    45b1cb6794fd51070a88ff824105219b.png▼ 点击成为社区注册会员      喜欢文章,点个在看0b9b918a971287cf3465742d8d510a3b.png
    展开全文
  • 发现使用seaborn画的热力图有问题,最上面的和最下面的只显示一半,如下图这是matplotlib3.1.1版本的bug解决方法:1. 程序中添加以下代码进行修正ax = sns.heatmap(...); bottom, top = ax.get_ylim() ax.set_ylim...

    发现使用seaborn画的热力图有问题,最上面的和最下面的只显示一半,如下图

    6cabda11b01b6591176c0ebe5932afe2.png

    这是matplotlib3.1.1版本的bug

    解决方法:

    • 1. 程序中添加以下代码进行修正
    ax = sns.heatmap(...);
    bottom, top = ax.get_ylim()
    ax.set_ylim(bottom + 0.5, top - 0.5)
    • 2. 重新按照其他版本,更新或者回退

    (似乎升级matplotlib到3.1.2即可)可能会遇到下面小问题

    66c8ed81c011c0f6ebe5d33a5d514f45.png

    加上--user选项即可,不用指定用户名

    ccf2ee3d81bf06ab7924b9356921a958.png

    ref: https://stackoverflow.com/questions/56942670/matplotlib-seaborn-first-and-last-row-cut-in-half-of-heatmap-plot

    最后问题解决

    d5be99ee7c2f4ccd372110a2003349e1.png
    展开全文
  • Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,...
  • matplotlib3.1.1版本的bug 解决方法: 1. 重新按照其他版本,更新或者回退 ...https://stackoverflow.com/questions/56942670/matplotlib-seaborn-first-and-last-row-cut-in-half-of-heatmap-plot
  • Seaborn绘制热力图

    千次阅读 2019-01-17 10:32:14
    Seaborn绘制热力图 Seaborn.heatmap (data, vmin=None, vmax=None, camp=None, center=None, robust=False, annot=None, fmt=’.2g’, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True, cbar_kws=...
  • 使用seaborn实现柱状图和热力图

    千次阅读 2019-06-04 15:05:11
    seaborn热力图 sns.heatmap(df) 传入的是一个dataframe,这个参数必须要有。 其他参数也是相当的多,详情请参考:官方文档传送门 sns.barplot() 柱状图 sns.barplot(x , y ) x是横轴坐标,y是纵轴坐标, 其他参数...
  • seaborn绘制热力图坐标标签

    万次阅读 2018-01-22 19:21:58
    seaborn绘制热力图坐标标签调整 seaborn中的热力图,有利于数据特征的关联性表示,除去导入部分,绘制部分代码如下: mpl.rcParams['font.sans-serif'] = ['FangSong'] corrmat = train.corr() f,ax = plt....
  • seaborn heatmap 热力图

    2020-05-21 18:04:01
    fig, axes =plt.subplots(1,2) # print(train_df.corr()) sns.heatmap(train_df.corr(), square=True, annot=True,ax=axes[0]) sns.heatmap(train_df.corr(), annot=True,ax=axes[1]) plt.show() ...
  • https://blog.csdn.net/u011240016/article/details/83756548
  • 需要用到的库为seaborn 具体代码如下: import seanborn as sns sns.set() # 注意: your_data只能是二维矩阵,特征为多通道时可以使用mean函数取通道上的平均。 ax = sns.heatmap(your_data, cmap="rainbow", ...
  • 所用函数以及相关参数解析seaborn.heatmap(data,vmin=None,vmax=None,cmap=None,center=None,robust=False,annot=None,fmt=’.2g’,annot_kws=None,l...
  • python seaborn热力图,自定义颜色渐变 默认的颜色,,实在是有点不好看 所以先附上改了以后的效果图 方法是使用 LinearSegmentedColormap 自定义颜色渐变 from matplotlib.colors import ...
  • 在日常工作中,经常可以见到各种各种精美的热力图热力图的应用非常广泛,下面一起来学习下Python的Seaborn库中热力图(heatmap)如何来进行使用。 本次运行的环境为: windows 64位系统 python 3.5 ...
  • python使用seaborn热力图中设置colorbar图例刻度字体大小 文章目录python使用seaborn热力图中设置colorbar图例刻度字体大小1. 问题描述2. 解决方案3. 效果4. 参考 1. 问题描述 使用matplotlib.pyplot画带色标...
  • 所用函数以及相关参数解析seaborn.heatmap(data,vmin=None,vmax=None,cmap=None,center=None,robust=False,annot=None,fmt=’.2g’,annot_kws=None,l...
  • 最近在使用注意力机制实现文本...这时我们需要使用热力图进行可视化。 我这里用到:seaborn seaborn.heatmap seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 360
精华内容 144
关键字:

seaborn热力图