温度图绘制(绘图进阶)
综述
学生党整理一些关于数据分析的知识:温度图的绘制。包括了温度图区间设置、正负值绘图、矩阵数据绘制热度图、显示具体数值及间距、指点颜色集cmap、隐藏图例、pd.pivot()使用技巧和读取csv中数据绘图。
代码模块
调用库
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
sns.set_style('whitegrid')
np.random.seed(0)
颜色变化表述数值波动
uniform_data = np.random.rand(3,3)
heatmap = sns.heatmap(uniform_data)
plt.show()
区间设置
ax = sns.heatmap(uniform_data,vmax=0.5,vmin=0.2)
plt.show()
正负值绘图
normal_data = np.random.randn(3,3) #增加-值
ax = sns.heatmap(normal_data,center=0) #中心值为0,中心值两侧颜色不同
plt.show()
矩阵数据绘制热度图
flights = sns.load_dataset('flights')
print(flights.head())
flights = flights.pivot('month','year','passengers')
print(flights)
ax = sns.heatmap(flights)
plt.show()
显示具体数值及间距
ax = sns.heatmap(flights,annot = True,fmt='d',linewidths=.5)
plt.show()
指点颜色集cmap
ax = sns.heatmap(flights,cmap = 'YlGnBu')
plt.show()
隐藏图例
ax = sns.heatmap(flights,cbar=False)
plt.show()
pd.pivot()使用技巧
data = pd.read_csv("countyll.csv")
longitude,latitude,data
1,1,270.0315068
1,2,90.53040203
1,3,188.0083978
......
19,18,151.3984505
19,19,185.63089
19,20,311.1479002
data = data.pivot(index='latitude',columns='longitude',values='data')
#index=类数据类型,columns=行数据类型,values=值
longitude 1 2 ... 18 19
latitude ...
1 270.031507 180.002583 ... 49.281806 49.281806
2 90.530402 390.340237 ... 4596.067542 4596.067542
3 188.008398 101.280052 ... 109.596103 109.596103
4 1181.753994 283.479051 ... 32.865748 316.004400
5 138.264806 1530.763400 ... 131.562648 616.848303
读取csv中数据绘图
data = pd.read_csv("countyA.csv")
ax = sns.heatmap(data)
plt.show()
data = pd.read_csv("countyll.csv")
data = data.pivot(index='latitude',columns='longitude',values='data')
print(data.head())
ax = sns.heatmap(data,vmin='0',vmax='1000',cmap='YlGnBu')
plt.show()
小结
绘图知识整理部分主要针对绘图方法,具体在数据分析过程中使用哪种图片在之后具体的数据分析案例中详细说明。