python绘制热力图heatmap

yipeiwu_com6年前Python基础

本文实例为大家分享了python绘制热力图的具体代码,供大家参考,具体内容如下

python的热力图是用皮尔逊相关系数来查看两者之间的关联性。

#encoding:utf-8
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from matplotlib import cm
from matplotlib import axes
import pylab
pylab.mpl.rcParams['font.sans-serif'] = ['SimHei']#防止中文乱码
pylab.mpl.rcParams['axes.unicode_minus'] = False#防止中文乱码
def draw_heatmap(data,xlabels,ylabels):
  cmap = cm.Blues
  figure=plt.figure(facecolor='w')
  ax=figure.add_subplot(2,1,1,position=[0.1,0.15,0.8,0.8])
  ax.set_yticks(range(len(ylabels)))
  ax.set_yticklabels(ylabels)
  ax.set_xticks(range(len(xlabels)))
  ax.set_xticklabels(xlabels)
  vmax=data[0][0]
  vmin=data[0][0]
  for i in data:
    for j in i:
      if j>vmax:
        vmax=j
      if j<vmin:
        vmin=j
  map=ax.imshow(data,interpolation='nearest',cmap=cmap,aspect='auto',vmin=vmin,vmax=vmax)
  cb = plt.colorbar(mappable=map,cax=None,ax=None,shrink=0.5)
  plt.xticks(rotation=90) # 将字体进行旋转
  plt.yticks(rotation=360)
  plt.show()
data = pd.read_csv('test.csv',encoding='gbk')
a = [[1063620,291288,213322,120233,972752,1896180,483012,1609664,413538,778350,420643,212472,2599510,1574470,254141],[258914,48064,31948,19534,142792,295841,69143,291524,78926,90238,79336,47938,454656,271486,35304],[517687,135483,68418,66670,301544,777798,307562,810314,234086,238859,145959,125258,1480672,764612,153237],[277377,38581,31145,17612,121162,254534,60746,253148,62054,93499,63346,36422,356036,212109,27758],[19030,2835,2174,1575,7325,18258,6837,23457,5340,5277,5120,4017,34122,21314,2961],[351720,107299,57186,55485,337368,563436,188368,563515,128047,178664,117886,72451,798121,444825,65599]]
 
 
xlabels= [u'3C电子',u'房产家居',u'服饰',u'健康保健',u'金融财经',u'旅游',u'美容美体',u'汽车',u'求职&教育',u'奢侈品',u'体育健身',u'网游',u'休闲&爱好',u'影视娱乐',u'孕婴育儿']
ylabels= ['iphoneX','mix2','oppor11','samsang','vivo','mate10']
draw_heatmap(a,xlabels,ylabels)

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Django配置优化方法

详解Django配置优化方法

​一、使用多个setting文件  开发Django项目是最常见,也是最麻烦的一个问题就是如何区分开发配置与线上配置。有一些解决方案是利用配置文件是py文件这个特性...

以一段代码为实例快速入门Python2.7

Python由Guido Van Rossum发明于90年代初期,是目前最流行的编程语言之一,因其语法的清晰简洁我爱上了Python,其代码基本上可以 说是可执行的伪代码。 非常欢迎反馈...

python查看zip包中文件及大小的方法

本文实例讲述了python查看zip包中文件及大小的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python import zipfile z =...

Android应用开发中Action bar编写的入门教程

从Android 3.0开始除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏...

tensorflow实现在函数中用tf.Print输出中间值

tensorflow实现在函数中用tf.Print输出中间值

tensorflow由于其基于静态图的模式,导致写代码的时候很难调试,除了用官方的调试工具外,最直接的方法就是把中间结果输出出来查看,然而,直接用print函数只能输出tensor变量的...