matplotlib+seaborn 热力图绘制




热力图绘制

需求

在撰写论文的时候, 需要做一些对比实验, 我们考虑使用热力图的形式来阐述实验效果。首先,我们需要使用的数据必须是二维的。然后,只需要将数据输入到 seaborn 对应的包里即可。



代码

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

values = np.random.rand(7, 20)
print(values)
#x_ticks = np.linspace(1,20,20,dtype=int)
y_ticks = ['15℃-1C', '15℃-2C', '25℃-0.5C','25℃-1C', '25℃-2C', '35℃-1C','35℃-2C']  # 自定义横纵轴

ax = sns.heatmap(values,cmap='BuGn_r', vmin=0, vmax=1,yticklabels=y_ticks,xticklabels=5,
                 cbar_kws={"shrink": 0.4,"fraction":0.05})     # x轴变2倍, 设置y轴label
ax.set_title('ρ of std_△Q')  # 图标题
ax.set_xlabel('Segment')  # x轴标题
ax.set_ylabel('NCA')

plt.axis('scaled')      # 坐标轴自适应
plt.show()
figure = ax.get_figure()
figure.savefig('sns_heatmap.jpg')  # 保存图片


结果


over~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Seaborn是一个基于matplotlib的Python数据可视化库。它提供了一些高级的绘功能,包括热力。 下面是一个简单的例子,展示如何使用Seaborn绘制热力: ```python import seaborn as sns import numpy as np # 生成随机数据 data = np.random.rand(10, 10) # 绘制热力 sns.heatmap(data) ``` 这个例子生成了一个10x10的随机数据矩阵,并通过`sns.heatmap()`函数将其绘制热力热力可以使用不同的颜色映射(colormap)来表示数据。默认情况下,Seaborn使用`viridis`颜色映射,但你可以通过`cmap`参数来指定其他的颜色映射。例如,使用`coolwarm`颜色映射: ```python sns.heatmap(data, cmap="coolwarm") ``` 你还可以设置其他参数来调整热力的外观,例如调整行列标签的大小和颜色: ```python sns.heatmap(data, cmap="coolwarm", annot=True, fmt=".2f", cbar=False, square=True, xticklabels=2, yticklabels=2, linewidths=.5, linecolor="gray") ``` 这些参数分别表示: - `annot`: 是否在热力中显示数值标签。 - `fmt`: 数值标签的格式。 - `cbar`: 是否显示颜色条(colorbar)。 - `square`: 是否将热力的宽度和高度设置成相等的。 - `xticklabels`和`yticklabels`: 控制行列标签的显示密度。 - `linewidths`和`linecolor`: 控制单元格之间的线宽和颜色。 以上是Seaborn绘制热力的基本方法和常用参数。如果你想进一步了解Seaborn的绘功能,建议查阅官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值