本文为自己百度了一下午,未能找到令自己满意的答复,故进行记录
热力图通过密度函数进行可视化用于表示地图中点的密度的热图,同时热力图大量应用于数据分析当中一般情况是亮度越高表示数据数值越大。
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()
如上图所示,所显示的图像感觉好丑,因此自己想着改变默认颜色色块。进行了如下尝试:
from matplotlib import cm
map_vir = cm.get_cmap('Pastel1')
sm = cm.ScalarMappable(cmap=map_vir) # norm设置最大最小值
plt.colorbar(sm) #显示颜色条
将整体颜色进行修改,即在plt.imshow中设置颜色而不是默认颜色即可。Pastel1
为对应颜色
map_vir = cm.get_cmap('Pastel1')
plt.imshow(X,camp =map_vir)
自己最初也想找到原图,因为参考的链接水印已经不知道覆盖了多少层了,无奈没能找到原图,大家将就着看吧!!!!
色谱参考
找到自己喜欢的颜色条替换上述的Pastel1
即可。
Python Matplotlib绘制渐变色柱状图(bar)并加边框和配置渐变颜色条(colorbar)
Python数据分析从入门到实践