seaborn.heatmap刻度及标签设置

Posted ivanssss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seaborn.heatmap刻度及标签设置相关的知识,希望对你有一定的参考价值。

跑实验需要画heatmap,使用seaborn.heatmap挺方便的,但是在刻度和标签字体设置上网上讲的不是很清楚,本文主要记录 ( x轴 / y轴 / colorbar ) 上的刻度ticks及标签label的文本设置。

python_version=2.7

数据格式用的pandas.DataFrame.

x_tick=[a,b,c]
y_tick=[x,y,z]
X=[[1,2,3],[4,5,6],[7,8,9]]
data={}
for i in range(3):
    data[x_tick[i]] = X[i]
pd_data=pd.DataFrame(data,index=y_tick,columns=x_tick)
print(pd_data)

技术图片

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from pylab import mpl


mpl.rcParams[‘font.family‘] = ‘sans-serif‘
mpl.rcParams[‘font.sans-serif‘] = ‘NSimSun,Times New Roman‘
font = {‘family‘: ‘sans-serif‘,
            ‘color‘: ‘k‘,
            ‘weight‘: ‘normal‘,
            ‘size‘: 20,}


f, ax = plt.subplots(figsize=(8, 8))
cmap = sns.cm.rocket_r  #colorbar颜色反转
ax = sns.heatmap(pd_data, annot=True, ax=ax, fmt=‘.1f‘, cmap=cmap) #画heatmap,具体参数可以查文档

plt.xlabel(‘x_label‘,fontsize=20, color=‘k‘) #x轴label的文本和字体大小
plt.ylabel(‘y_label‘,fontsize=20, color=‘k‘) #y轴label的文本和字体大小
plt.xticks(fontsize=20) #x轴刻度的字体大小(文本包含在pd_data中了)
plt.yticks(fontsize=20) #y轴刻度的字体大小(文本包含在pd_data中了)
plt.title(‘title‘,fontsize=20) #图片标题文本和字体大小
#设置colorbar的刻度字体大小
cax = plt.gcf().axes[-1] 
cax.tick_params(labelsize=20)
#设置colorbar的label文本和字体大小
cbar = ax.collections[0].colorbar
cbar.set_label(r‘$NMI$‘,fontdict=font)

plt.show()

技术图片

可能代码上会存在冗余,但起码可以对各个部分的文本内容和字体大小进行单独设置了,已经满足我的需求了。

有什么更好的希望批评指正 _(:з」∠)_

 

以上是关于seaborn.heatmap刻度及标签设置的主要内容,如果未能解决你的问题,请参考以下文章

面临 seaborn.heatmap() 的问题 [重复]

TypeError:输入类型不支持 ufunc 'isnan' - seaborn Heatmap

python seaborn heatmap用绝对颜色框替换颜色条

数据可视化Python 热力图(seaborn.heatmap)

如何在 python seaborn heatmap 旁边有一个显示行值总和的栏?

Seaborn 热图阴谋失败