首页 > 其他 > 详细

Matplotlib学习---用matplotlib画热图(heatmap)

时间:2018-08-15 19:20:40      阅读:291      评论:0      收藏:0      [点我收藏+]

这里利用Nathan Yau所著的《鲜活的数据:数据可视化指南》一书中的数据,学习画图。

 

数据地址:http://datasets.flowingdata.com/ppg2008.csv

 

首先查看一下数据文件的前5行:

           Name     G   MIN   PTS   FGM   FGA    FGP  FTM  FTA    FTP ...   0    Dwyane Wade   79  38.6  30.2  10.8  22.0  0.491  7.5  9.8  0.765 ...    
1   LeBron James   81  37.7  28.4   9.7  19.9  0.489  7.3  9.4  0.780 ...    
2    Kobe Bryant   82  36.2  26.8   9.8  20.9  0.467  5.9  6.9  0.856 ...    
3  Dirk Nowitzki   81  37.7  25.9   9.6  20.0  0.479  6.0  6.7  0.890 ...    
4  Danny Granger   67  36.2  25.8   8.5  19.1  0.447  6.0  6.9  0.878 ...    

   3PA    3PP  ORB  DRB  TRB  AST  STL  BLK   TO   PF  
0  3.5  0.317  1.1  3.9  5.0  7.5  2.2  1.3  3.4  2.3  
1  4.7  0.344  1.3  6.3  7.6  7.2  1.7  1.1  3.0  1.7  
2  4.1  0.351  1.1  4.1  5.2  4.9  1.5  0.5  2.6  2.3  
3  2.1  0.359  1.1  7.3  8.4  2.4  0.8  0.8  1.9  2.2  
4  6.7  0.404  0.7  4.4  5.1  2.7  1.0  1.4  2.5  3.1 

这是NBA球员的比赛统计数据,比如说AST:(assists) 助攻次数,STL:(steals ) 抢断次数,等等。

 

让我们用这些统计数据来做一个热图。

 

热图:ax.imshow(x,cmap=...)

 

代码如下:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
NBA=pd.read_csv(r"http://datasets.flowingdata.com/ppg2008.csv")
fig,ax=plt.subplots(figsize=(10,20))

score=NBA.loc[:,"G":"PF"].values
name=NBA.iloc[:,0]
col=NBA.loc[:,"G":"PF"].columns

im=ax.imshow(score,cmap=plasma_r) #用cmap设置配色方案
ax.xaxis.set_ticks_position(top) #设置x轴刻度到上方
ax.set_xticks(np.arange(len(col))) #设置x轴刻度
ax.set_yticks(np.arange(len(name))) #设置y轴刻度
ax.set_xticklabels(col) #设置x轴刻度标签
ax.set_yticklabels(name) #设置y轴刻度标签
fig.colorbar(im,pad=0.03) #设置颜色条
ax.set_title("NBA Average Performance (Top 50 Players)",x=0.2,y=1.034,fontsize=16) #设置标题以及其位置和字体大小 

plt.show()

 

图像如下:

技术分享图片

 

Matplotlib学习---用matplotlib画热图(heatmap)

原文:https://www.cnblogs.com/HuZihu/p/9481068.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!