簡體   English   中英

Seaborn熱圖 - colorbar標簽字體大小

[英]Seaborn heatmap - colorbar label font size

如何設置彩條標簽的字體大小?

ax=sns.heatmap(table, vmin=60, vmax=100, xticklabels=[4,8,16,32,64,128],yticklabels=[2,4,6,8], cmap="PuBu",linewidths=.0, 
        annot=True,cbar_kws={'label': 'Accuracy %'}

在此輸入圖像描述

不幸的是,seaborn無法訪問它創建的對象。 因此,需要繞道而行,使用顏色條是當前圖形中的軸並且它是最后創建的軸,因此

ax = sns.heatmap(...)
cbar_axes = ax.figure.axes[-1]

對於這個軸,我們可以通過使用其set_size方法獲取ylabel來設置fontsize。

例如,將fontsize設置為20個點:

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(0)
import seaborn as sns
data = np.random.rand(10, 12)*100
ax = sns.heatmap(data, cbar_kws={'label': 'Accuracy %'})
ax.figure.axes[-1].yaxis.label.set_size(20)

plt.show()

在此輸入圖像描述

注意,當然可以通過via實現相同的目的

ax = sns.heatmap(data)
ax.figure.axes[-1].set_ylabel('Accuracy %', size=20)

沒有關鍵字參數傳遞。

您還可以將軸對象顯式傳入heatmap並直接修改它們:

grid_spec = {"width_ratios": (.9, .05)}
f, (ax, cbar_ax) = plt.subplots(1,2, gridspec_kw=grid_spec) 
sns.heatmap(data, ax=ax, cbar_ax=cbar_ax, cbar_kws={'label': 'Accuracy %'})
cbar_ax.yaxis.label.set_size(20)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM