怎么在plt的子图中画sns.heatmap
时间: 2024-05-16 07:18:27 浏览: 253
你可以使用Seaborn中的`heatmap`函数在matplotlib的子图中绘制热力图。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import seaborn as sns
# 生成数据
data = sns.load_dataset("flights")
flights = data.pivot("month", "year", "passengers")
# 创建一个figure对象和一个包含2行1列的子图grid
fig, ax = plt.subplots(nrows=2, ncols=1, figsize=(10, 8))
# 在第一个子图中绘制热力图
sns.heatmap(flights, ax=ax[0])
# 在第二个子图中绘制热力图,设置cmap为"YlGnBu"颜色映射
sns.heatmap(flights, ax=ax[1], cmap="YlGnBu")
# 设置子图的标题
ax[0].set_title("Default Colormap")
ax[1].set_title("Custom Colormap")
# 显示图形
plt.show()
```
这个示例代码中,我们首先使用Seaborn中的`load_dataset`函数生成了一个包含航班乘客数的数据集,然后使用`pivot`函数将数据转换为透视表格式。接着,我们创建了一个包含2个子图的网格,并在其中分别绘制了热力图。在第二个子图中,我们通过设置`cmap`参数为"YlGnBu"来自定义了颜色映射。最后,我们设置了子图的标题并显示了图形。
阅读全文