geekdoc-python-zh/docs/pythonbasics/081.md

72 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2024-03-03 22:48:46 +08:00
# Seaborn 热力图
> 原文: [https://pythonbasics.org/seaborn_heatmap/](https://pythonbasics.org/seaborn_heatmap/)
热力图是矩形数据作为颜色编码矩阵的曲线图。 作为参数,它采用 2D 数据集。 该数据集可以被强制为一个`ndarray`。
这是可视化数据的好方法,因为它可以显示包括时间在内的各种变量之间的关系。 例如,历年来的频率。
## 热力图示例
### 热力图
下面的热力图图基于 numpy 生成的随机值。 许多参数都是可能的,这只是显示了最基本的图。
```py
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(0)
sns.set()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
plt.show()
```
![heatmap](img/7c1fd991881176a5622039e83abd17c8.jpg)
### 热力图颜色
下面的热力图颜色图再次使用了随机数据。 这次,它使用了不同的颜色图(`cmap`),带有“蓝色”调板,但仅是蓝色。 它还使用正方形块。
```py
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.randn(50).reshape(10,5))
corr = df.corr()
ax1 = sns.heatmap(corr, cbar=0, linewidths=2,vmax=1, vmin=0, square=True, cmap='Blues')
plt.show()
```
![heatmap colors](img/fa730ce5ba742c146bfa8b3dac4a6a46.jpg)
### 热力图数据
热力图数据图类似,但是使用不同的调色板。 它使用 Seaborn 中包含的航空公司或航班数据集。
```py
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights)
plt.title("Heatmap Flight Data")
plt.show()
```
![heatmap data](img/7506d8c32012e87ad7690628ef32dde1.jpg)