matplotlib绘制热力图设置热力图渐变颜色

前言

本文为自己百度了一下午,未能找到令自己满意的答复,故进行记录

一、热力图是什么?

热力图通过密度函数进行可视化用于表示地图中点的密度的热图,同时热力图大量应用于数据分析当中一般情况是亮度越高表示数据数值越大。

二、实现过程

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import cm
df = pd.read_excel('data1.xls',sheet_name='高二一班')
plt.rcParams['font.sans-serif']=['SimHei'] #解决中文乱码
X = df.loc[:,"语文":"生物"].values
name=df['姓名']
# map_vir = cm.get_cmap('Pastel1')
plt.imshow(X,cmap=map_vir)
plt.xticks(range(0,6,1),['语文','数学','英语','物理','化学','生物'])#设置x轴刻度标签
plt.yticks(range(0,12,1),name)#设置y轴刻度标签
plt.colorbar()  #显示颜色条
plt.title('学生成绩统计热力图')
plt.show()

结果显示

matplotlib绘制热力图设置热力图渐变颜色_第1张图片
如上图所示,所显示的图像感觉好丑,因此自己想着改变默认颜色色块。进行了如下尝试:

from matplotlib import cm
map_vir = cm.get_cmap('Pastel1')
sm = cm.ScalarMappable(cmap=map_vir)  # norm设置最大最小值
plt.colorbar(sm)  #显示颜色条

matplotlib绘制热力图设置热力图渐变颜色_第2张图片
可以看到只改变了颜色条原图颜色并没有任何改变。

最终思路

将整体颜色进行修改,即在plt.imshow中设置颜色而不是默认颜色即可。Pastel1为对应颜色

map_vir = cm.get_cmap('Pastel1')
plt.imshow(X,camp =map_vir)

效果图:
matplotlib绘制热力图设置热力图渐变颜色_第3张图片
比原来漂亮一点吧!!!!

颜色色谱

自己最初也想找到原图,因为参考的链接水印已经不知道覆盖了多少层了,无奈没能找到原图,大家将就着看吧!!!!
色谱参考
找到自己喜欢的颜色条替换上述的Pastel1即可。

参考

Python Matplotlib绘制渐变色柱状图(bar)并加边框和配置渐变颜色条(colorbar)
Python数据分析从入门到实践

你可能感兴趣的:(python)