python热图_Python绘制热图

1.matplitlib绘制热图

import random

from matplotlib import pyplot as plt

from matplotlib import cm

from matplotlib import axes

def draw():

# define the x and y axis of the hotmap

xLabel = ['A', 'B', 'C', 'D', 'E']

yLabel = ['1', '2', '3', '4', '5']

# prepaer the data, generate the two-dimension data

data = []

for i in range(5):

temp = []

for j in range(5):

k = random.randint(0,100)

temp.append(k)

data.append(temp)

# plot the figure

fig = plt.figure()

ax = fig.add_subplot(111)

# define the scale

ax.set_yticks(range(len(yLabel)))

ax.set_yticklabels(yLabel, fontproperties=plt.cm.hot_r)

ax.set_xticks(range(len(xLabel)))

ax.set_xtickslabels(xLabel)

# make the figure and select the style of hotmap

im = ax.imshow(data, cmap = plt.cm.hot_r) # the value is more high, the color is more deep

# im = ax.imshow(data, cmap = plt.cm.hot) # the value is more high, the color is more shallow

# plt.cm.~ hot, cool, gray, bone, white, spring, summer, autumn, winter

# add the scale bar of the right site

plt.colorbar(im)

plt.title("This is a title")

plt.show()

d = draw()

2.Seaborn绘制热图

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

sns.set()

# data 1

np.random.seed(0)

uniform_data = np.random.rand(10, 12, vmin = 0, vmax = 1, center = 0)

# vmin=0, vmax=1 : the scope of colorbar value

# center=0 : colorbar valuee centered at 0

ax = sns.heatmap(uniform_data)

# data 2

flights_long = sns.load_dataset("flights")

flights = flights_long.pivot("month", "year", "passengers")

f, ax = plt.subplots(figsize = (9, 6))

# annot = True: show the value

sns.heatmap(flights, annot = True, fmt = 'd', cmap = 'Y|GnBu', linewidth = 5, ax = ax)

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation = 360, horizontalalignment = 'right')

label_x = ax.get_xticklabels()

plt.setp(label_x, rotation = 45, horizontalalignment = 'right')

plt.show()

# https://www.jianshu.com/p/d105d934d876

你可能感兴趣的:(python热图)