seaborn绘制热力图,让每个格子宽度小一点的代码
时间: 2024-01-22 19:20:04 浏览: 123
要让每个格子宽度小一点,可以使用`sns.heatmap()`函数的`square`参数,将其设置为`False`即可。示例代码如下:
``` python
import seaborn as sns
# 生成数据
data = sns.load_dataset('flights').pivot('month', 'year', 'passengers')
# 绘制热力图
sns.heatmap(data, cmap='Blues', annot=True, fmt='d', square=False) # 将square参数设置为False
```
运行结果会显示一个宽度较小的热力图。你可以根据实际情况调整`annot`和`fmt`参数,用于显示数值。
相关问题
seaborn绘制热力图,调整热力图格子的大小
要调整热力图格子的大小,可以使用seaborn中的heatmap函数,其中的参数square可以控制热力图的格子是否为正方形,如果为True,则格子为正方形,否则为长方形。默认情况下,该参数为True,即格子为正方形。
如果希望调整格子的大小,可以设置该参数为False,并调整热力图的宽度和高度,以及热力图中每个格子的宽度和高度。示例代码如下:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 生成数据
data = sns.load_dataset("flights").pivot("month", "year", "passengers")
# 绘制热力图
fig, ax = plt.subplots(figsize=(8, 6))
sns.heatmap(data, cmap="YlGnBu", annot=True, fmt="d",
linewidths=.5, ax=ax, square=False,
cbar_kws={"shrink": .5},
yticklabels=True, xticklabels=True)
# 调整热力图的宽度和高度
plt.subplots_adjust(left=0.15, bottom=0.25)
# 调整每个格子的宽度和高度
ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha="right")
bottom, top = ax.get_ylim()
ax.set_ylim(bottom + 0.5, top - 0.5)
```
在上述代码中,我们通过设置square参数为False来调整格子的大小,然后通过subplots_adjust方法调整热力图的宽度和高度,最后通过set_ylim方法调整每个格子的宽度和高度。运行该代码可以得到一个调整了格子大小的热力图。
sns 绘制热力图
Seaborn 是基于 Matplotlib 的 Python 可视化库,它提供了更高级别的接口和更美观的默认样式。要使用 Seaborn 绘制热力图,可以使用 `heatmap()` 函数。
以下是一个使用 Seaborn 绘制热力图的例子:
```python
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
# 构造矩阵数据
data = np.random.rand(10, 10)
# 绘制热力图
sns.heatmap(data, cmap='YlGnBu')
plt.show()
```
在这个例子中,我们首先使用 NumPy 库构造了一个 $10 \times 10$ 的随机矩阵。然后,使用 Seaborn 库中的 `heatmap()` 函数绘制热力图,并指定了颜色映射。最后,使用 `show()` 函数显示图像。
你可以根据自己的需要修改数据和参数来绘制不同类型的热力图。Seaborn 还提供了许多其他可用于定制热力图的函数和参数,例如 `annot` 参数可以用于在每个单元格中显示数值,`linewidths` 参数可以用于设置格子之间的间隔线宽度等。
阅读全文