热力图绘制
需求
在撰写论文的时候, 需要做一些对比实验, 我们考虑使用热力图的形式来阐述实验效果。首先,我们需要使用的数据必须是二维的。然后,只需要将数据输入到 seaborn
对应的包里即可。
代码
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
values = np.random.rand(7, 20)
print(values)
#x_ticks = np.linspace(1,20,20,dtype=int)
y_ticks = ['15℃-1C', '15℃-2C', '25℃-0.5C','25℃-1C', '25℃-2C', '35℃-1C','35℃-2C'] # 自定义横纵轴
ax = sns.heatmap(values,cmap='BuGn_r', vmin=0, vmax=1,yticklabels=y_ticks,xticklabels=5,
cbar_kws={"shrink": 0.4,"fraction":0.05}) # x轴变2倍, 设置y轴label
ax.set_title('ρ of std_△Q') # 图标题
ax.set_xlabel('Segment') # x轴标题
ax.set_ylabel('NCA')
plt.axis('scaled') # 坐标轴自适应
plt.show()
figure = ax.get_figure()
figure.savefig('sns_heatmap.jpg') # 保存图片
结果
over~