簡體   English   中英

嘗試在 Seaborn 熱圖中更改顏色條的文本顏色

[英]Trying to change the colorbar's text colour in a Seaborn Heatmap

我有兩個使用 Seaborn 的熱圖子圖(如下所示) 我到處尋找教程/幫助等,但我無法弄清楚:

Q) 如何更改每個熱圖上顏色條數字的顏色?

我希望它們都是“黃色”而不是默認的“黑色”

謝謝你的時間。

line_df
total_df
fig.set_facecolor("Blue")
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12,6))

sns.heatmap(line_df, ax = ax1, annot=True, annot_kws={'fontsize': 16, 'fontweight':'bold'}, xticklabels=line_df.columns, yticklabels=line_df.index, cbar_kws={'orientation':'vertical'} )

ax1.yaxis.label.set_color("Blue")
ax1.tick_params(colors="yellow")

sns.heatmap(total_df, ax = ax2, annot=True, annot_kws={'fontsize': 16, 'fontweight':'bold',}, xticklabels=total_df.columns, yticklabels=False, cbar_kws={'orientation':'vertical'})

ax2.get_yaxis().set_visible(False)
ax2.tick_params(colors="yellow")

fig.tight_layout()
plt.show()
plt.close()

您需要通過調用每個軸顏色條來使用它來更改包括字體顏色在內的參數,然后更改該軸的 tick_params。 由於沒有可用的數據,我使用隨機 arrays 來演示相同的內容。 您可以在這里找到更多信息 tick_params 和 collections在這里

df1 = np.random.rand(5, 5)
df2 = np.random.rand(5, 5)

import seaborn as sns

fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12,6))

sns.heatmap(data = df2, ax = ax1, annot=True, annot_kws={'fontsize': 16, 'fontweight':'bold'}, 
           cbar_kws={'orientation':'vertical'} )
sns.heatmap(data = df1, ax = ax2, annot=True, annot_kws={'fontsize': 16, 'fontweight':'bold',}, 
           cbar_kws={'orientation':'vertical'})

cbar1 = ax1.collections[0].colorbar
cbar1.ax.tick_params(labelsize=20, colors='yellow')

cbar2 = ax2.collections[0].colorbar
cbar2.ax.tick_params(labelsize=20, colors='yellow')

plt.show()

在此處輸入圖像描述

暫無
暫無

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

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