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

这里利用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()

图像如下:

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

时间: 2024-08-01 20:06:14

Matplotlib学习---用matplotlib画热图(heatmap)的相关文章

Matplotlib学习---用matplotlib画直方图/密度图(histogram, density plot)

直方图用于展示数据的分布情况,x轴是一个连续变量,y轴是该变量的频次. 下面利用Nathan Yau所著的<鲜活的数据:数据可视化指南>一书中的数据,学习画图. 数据地址:http://datasets.flowingdata.com/crimeRatesByState2005.csv 以下是这个数据文件的前5行: state murder forcible_rape robbery aggravated_assault 0 United States 5.6 31.7 140.7 291.1

用R包中heatmap画热图

一:导入R包及需要画热图的数据 library(pheatmap) data<- read.table("F:/R练习/R测试数据/heatmapdata.txt",head = T,row.names=1,sep="\t") 二:画图 1)pheatmap(data)#默认参数 2)pheatmap(data,clustering_distance_rows = "correlation")#聚类线长度优化 3)pheatmap(data

Matplotlib学习---用matplotlib画折线图(line chart)

这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv 准备工作:先导入matplotlib和pandas,用pandas读取csv文件,然后创建一个图像和一个坐标轴 import pandas as pd from matplotlib import pyplot as plt birth=p

Matplotlib学习---用matplotlib画雷达图(radar chart)

雷达图常用于对多项指标的全面分析.例如:HR想要比较两个应聘者的综合素质,用雷达图分别画出来,就可以进行直观的比较. 用Matplotlib画雷达图需要使用极坐标体系,可点击此链接,查看对极坐标体系的介绍:https://www.cnblogs.com/kallan/p/6738577.html. 下面,我们从五个方面(编程能力,沟通技能,专业知识,团队协作,工具掌握)来对路人甲和路人乙进行比较. 代码如下: import numpy as np from matplotlib import p

Matplotlib学习---用matplotlib画面积图(area chart)

这里利用Nathan Yau所著的<鲜活的数据:数据可视化指南>一书中的数据,学习画图. 数据地址:http://book.flowingdata.com/ch05/data/us-population-by-age.xls 准备工作:先导入matplotlib和pandas,用pandas读取excel文件,然后创建一个图像和一个坐标轴 import pandas as pd from matplotlib import pyplot as plt population=pd.read_ex

Matplotlib——第一章轻松画个图

首先安装matplotlib,使用pip install matplotlib.安装完成后在python的命令行敲入import matplotlib,如果没问题,说明安装成功可以开始画图了. 看好了,见证奇迹的时刻 from matplotlib import pyplot as plt plt.plot([1,2,3,4,5],[4,3,4,3,4]) #在画布上画图 plt.show() #显示画布 画线,需要给出线上的点的坐标,然后Matplotlib会自动将点连成线.我们看到两个点的坐

Matplotlib学习---用matplotlib画散点图,气泡图(scatterplot, bubble chart)

Matplotlib里有两种画散点图的方法,一种是用ax.plot画,一种是用ax.scatter画. 一. 用ax.plot画 ax.plot(x,y,marker="o",color="black") 二. 用ax.scatter画 ax.scatter(x,y,marker="o",s=sizes,c=colors) ax.plot和ax.scatter的区别: ax.plot:各散点彼此复制,因此整个数据集中所有的点只需配置一次颜色和大小

Matplotlib学习---用wordcloud画词云(Word Cloud)

画词云首先需要安装wordcloud(生成词云)和jieba(中文分词). 先来说说wordcloud的安装吧,真是一波三折.首先用pip install wordcloud出现错误,说需要安装Visual C++ 14.0.折腾半天安装好Visual C++后,还是不行,按网上指点,下载第三方包安装(https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud).安装是成功了,可是在anaconda里导入的时候又出现了问题,说是"no module

Python图表数据可视化Seaborn:3. 线性关系| 时间线| 热图

1. 线性关系数据可视化 lmplot() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("darkgrid") sns.set_context("paper") # 设置风格.尺度 import warnings warnings.filterwarnings