用heatmap 反应不同城市不同时期的超标率应该如何写代码
时间: 2024-01-01 12:03:31 浏览: 26
要使用热力图(heatmap)来反映不同城市在不同时期的超标率,你可以使用 seaborn 库中的 `heatmap()` 函数。下面是一个示例代码,演示了如何绘制这样的热力图:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 假设你有一个名为 df 的 DataFrame,其中包含了不同城市在不同时期的超标率数据
# ...
# 使用 pivot_table 函数将数据重新排列为矩阵形式
pivot_df = df.pivot_table(index='city', columns='time_period', values='exceed_rate')
# 使用 heatmap 函数绘制热力图
sns.heatmap(pivot_df, cmap='YlOrRd')
# 添加标题和坐标轴标签
plt.title('Exceed Rate by City and Time Period')
plt.xlabel('Time Period')
plt.ylabel('City')
# 显示图形
plt.show()
```
在上面的代码中,我们首先使用 `pivot_table()` 函数将数据重新排列为矩阵形式,其中 `index` 参数指定了行索引(城市),`columns` 参数指定了列索引(时间段),`values` 参数指定了要填充到矩阵中的值(超标率)。
然后,我们使用 `heatmap()` 函数绘制热力图,其中 `cmap='YlOrRd'` 参数指定了使用黄橙红色调的颜色映射。
最后,我们添加了标题和坐标轴标签,并通过 `plt.show()` 函数显示图形。
请根据你的实际数据和需求,修改代码中的变量名和参数,以适应你的情况。