这里利用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)的更多相关文章

  1. Matplotlib学习---用seaborn画矩阵图(pair plot)

    矩阵图非常有用,人们经常用它来查看多个变量之间的联系. 下面用著名的鸢尾花数据来画一个矩阵图.从sklearn导入鸢尾花数据,然后将其转换成pandas的DataFrame类型,最后用seaborn画 ...

  2. Matplotlib学习---用matplotlib画箱线图(boxplot)

    箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...

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

    直方图用于展示数据的分布情况,x轴是一个连续变量,y轴是该变量的频次. 下面利用Nathan Yau所著的<鲜活的数据:数据可视化指南>一书中的数据,学习画图. 数据地址:http://d ...

  4. 用R包中heatmap画热图

    一:导入R包及需要画热图的数据 library(pheatmap) data<- read.table("F:/R练习/R测试数据/heatmapdata.txt",head ...

  5. 用Excel制作热图(heatmap)的方法

    http://jingyan.baidu.com/article/64d05a0240ec75de55f73bd8.html 利用Excel 2010及以上版本的"条件格式"--& ...

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

    这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...

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

    雷达图常用于对多项指标的全面分析.例如:HR想要比较两个应聘者的综合素质,用雷达图分别画出来,就可以进行直观的比较. 用Matplotlib画雷达图需要使用极坐标体系,可点击此链接,查看对极坐标体系的 ...

  8. Matplotlib学习---用matplotlib画误差线(errorbar)

    误差线用于显示数据的不确定程度,误差一般使用标准差(Standard Deviation)或标准误差(Standard Error). 标准差(SD):是方差的算术平方根.如果是总体标准差,那么用σ表 ...

  9. R绘图(2): 离散/分类变量如何画热图/方块图

    相信很多人都看到过上面这种方块图,有点像"华夫饼图"的升级版,也有点像"热图"的离散版.我在一些临床多组学的文章里面看到过好几次这种图,用它来展示病人的临床信息 ...

随机推荐

  1. 使用redis实现生产者消费者模式

    本次主要分享一下使用redis做缓存队列,实现生产者消费者模式. 首先先来看一下redis提供的列表操作接口.像ListRightPush就和符合队列先进先出的原则. 然后围绕这个列表已下单为例简要实 ...

  2. orleans发送广播消息

    一个client发送消息给orleans, 就只需要掉用Grain的函数就行了. 但是有时候Grain需要发送消息给client, 在orleans里面, 就只能通过Observer来实现. publ ...

  3. H5 59-浮动元素的脱标

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. H5 54-清空默认边距

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Apache Tomcat® - Which Version Do I Want?

    Apache Tomcat® - Which Version Do I Want?http://tomcat.apache.org/whichversion.html

  6. JS XMLHttpRequesst对象 http post的五种请求状态

    记录一下js中对http请求的几种状态,下附代码 readyState 存有 XMLHttpRequest 的状态.从 0 到 4 发生变化. 0: 请求未初始化 1: 服务器连接已建立 2: 请求已 ...

  7. js-canvas(基本用法)

    ###1. canvas(画布) <canvas>是HTML 5 新增的元素,可用于通过使用JavaScript中的脚本来绘制图形 默认宽高为300px*150px 基本概念和方法入门推荐 ...

  8. vue的三种传参方式

    <template> <div> <router-link :to="{'name':'x',params:{'type':'users'}}"> ...

  9. Linux df 与du用法

    df 查看一级目录的大小,但是不能查看文件的大小.du 可以查看目录或者文件大小. 1 df的基本用法 df命令可以显示目前所有文件系统的总空间及当前可用空间,用法如下: -a 全部文件系统列表-h ...

  10. 【转帖】介绍 .NET Standard

    [译]介绍 .NET Standard https://zhuanlan.zhihu.com/p/24267356 跟开发争执过 自己不会写代码 的确不好. 若有任何对翻译的建议,烦请指正 有任何问题 ...