热图是数据分析的基本图形之一,可以方便的表示大量数据的关联关系。
在这里我们使用seaborn绘制热图
我这里直接上代码了
因为是用jupyter notebook做的
代码语言:javascript复制#!/usr/bin/env python
# coding: utf-8
# In[1]:
import matplotlib.pyplot as plt
import seaborn as sns
# In[2]:
sns.set()
# In[3]:
who
# 导入数据
# In[4]:
flights_long = sns.load_dataset("flights")
# 查看数据
# In[5]:
flights_long
# 数据格式转化
# In[7]:
flights = flights_long.pivot("month", "year", "passengers")
# In[8]:
flights
# In[9]:
#那么很明显了,seaborn热图绘制需要的数据格式即为上图
# In[39]:
#绘制一张最简单的heatmap
f = plt.subplots(figsize=(9, 6))
sns.heatmap(flights)
# In[42]:
#现在给他加上标签
f = plt.subplots(figsize=(9, 6))
sns.heatmap(flights,annot=True,fmt='d')
# In[44]:
#现在控制下分割线
f = plt.subplots(figsize=(9, 6))
sns.heatmap(flights, linewidths=.5)
# In[46]:
#换个颜色
f = plt.subplots(figsize=(9, 6))
sns.heatmap(flights, cmap="YlGnBu")
# In[49]:
#现在进行一下数据转化
type(flights)
# In[50]:
#这个是原始数据
flights_long
# In[51]:
#这个是heatmap需要的数据
flights
# In[53]:
#需要的包,pandas模块
from pandas.core.reshape.pivot import pivot
# In[54]:
help(pivot)
# In[56]:
#直接看事例应该很简单理解
#开始转换
fligh_test=flights_long.pivot(index='year',columns='month',values='passengers')
# In[57]:
fligh_test
上图: