这里利用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. linux screen 工具

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  2. docker搭建mysql

    下载mysql镜像 [root@localhost ~]# docker pull mysql: 创建mysql容器 [root@localhost ~]# docker run -itd --nam ...

  3. Day2 Numerical simulation of optical wave propagation之标量衍射理论基本原理(二)

    2.麦克斯韦方程组的简单行波解 讨论通过线性.各向同性.均匀.无色散.无限电荷和电流的电介质材料的光波传输.在这种情况下,介质具有如下属性: (1)推导获得波动方程( 由麦克斯韦方程组导出的.描述电磁 ...

  4. Vue使用的一些实例

    1.实现歌曲的点击切换. <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  5. WebSocket实现一个聊天室

    聊天室页面-->index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

  6. Nginx三部曲(1)基础

    我们会告诉你 Nginx 是如何工作的,其背后的概念有哪些,以及如何优化它以提升应用程序的性能.还会告诉你如何安装,如何启动.运行. 这个教程包括三节: 基础概念——你可以了解命令(directive ...

  7. mac下php开发环境的搭建

    1.phpstorm 在官网:https://www.jetbrains.com/phpstorm/,下载最新版:phpstorm-2016.2.1 在http://15.idea.lanyus.co ...

  8. requests 使用免费的代理ip爬取网站

    import requests import queue import threading from lxml import etree #要爬取的URL url = "http://xxx ...

  9. Chrome 75 & lazy-loading

    Chrome 75 & lazy-loading https://addyosmani.com/blog/lazy-loading/ https://chromestatus.com/feat ...

  10. Servlet的cookie使用,500报错,tomcat和cookie语法不兼容解决

    出现类似上图的错误,应该是tomcat和cookie的语法不兼容 cookie不要用逗号","作分隔符,换井号#试试就可以了