seaborn绘制简单的热图

对两向分组资料进行热图绘制,数据如下有两个因素五组数据
seaborn绘制简单的热图_第1张图片
代码如下

#导入需要的库
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


def main():
    """
    主函数
    """


	sns.set_style('whitegrid',{'font.sans-serif': ['simhei','Arial']})
	data = pd.read_csv("C:\\Users\\WIN10\\Desktop\\数据分析\\SPAD1.csv",encoding = "gbk",engine = 'python')#读取数据
	fig_q2 = plt.figure(figsize = (4,5))#创建图表
	#计算成透视表
	y1 = data.pivot_table('花后15天', index='品种', columns='氮水平', aggfunc='mean')
	y2 = data.pivot_table('拔节SPAD', index='品种', columns='氮水平', aggfunc='mean')
	y3 = data.pivot_table('开花SPAD', index='品种', columns='氮水平', aggfunc='mean')
	y4 = data.pivot_table('花后30天', index='品种', columns='氮水平', aggfunc='mean')
	#绘图
	h = sns.heatmap(y2, annot=True, cmap='Greens', fmt='.2f', vmin=25, vmax=55, annot_kws={'size':16},cbar=False)
	plt.title('BS', fontsize=18)
	plt.tick_params(labelsize=16)
	plt.xlabel('Nitrogen rates',fontdict={'size': 16})
	plt.ylabel('varieties',fontdict={'size': 16})
	cb = h.figure.colorbar(h.collections[0])  # 显示colorbar,此种方法需要先关闭cbar
	cb.ax.tick_params(labelsize=16)  # 设置colorbar刻度字体大小。
	plt.show()
	# http://seaborn.pydata.org/generated/seaborn.heatmap.html 热图的介绍

if __name__ == '__main__':
    main()```

你可能感兴趣的:(seaborn绘制简单的热图)