如何更改seaborn中的标签刻度颜色

Sle*_*dge 2 python seaborn

我有一个 seaborn 情节,我想为其创建自定义刻度标签着色。

代码是:

short_cols = ['col_1', 'col_2', 'col_3', 'col_4', 'col_5', 'col_6', 'col_7', 'col_8', 'col_9', 'col_10', 'col_11', 'col_12', 'col_13', 'col_14', 'col_15', 'col_16', 'col_17', 'col_18', 'col_19']

fig, ax = plt.subplots(figsize=(13,10)) 
sns.heatmap(jr_matrix, 
            center=0, 
            cmap="vlag", 
            linewidths=.75, 
            ax=ax,
            norm=LogNorm(vmin=jr_matrix.min(), vmax=jr_matrix.max()))
ax.set_xticklabels(short_cols, rotation=90, size=14, labelcolor='red')
ax.set_yticklabels(short_cols, rotation=0, size=14)
Run Code Online (Sandbox Code Playgroud)

情节如下:

在此输入图像描述

Short_cols 中的某些项目之间存在一定的分组,因此将它们设置为相同的颜色会很有用。

我的问题是,如何调整刻度标签颜色,以便可以在图中反映这种关联。

例如,假设这些组是:

group1 = ['col_1', 'col_2', 'col_3']
group2 = ['col_4', 'col_5']
group3 = ['col_6']
...
group7=['col_18', 'col_19']
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

小智 5

confusion_M  = pd.crosstab(model1_pred.Predicted_class,model1_pred.Actual_class)
sn.set(rc={'axes.facecolor':'black', 'figure.facecolor':'black',})
fig = plt.figure(figsize=(13,10))
g= sn.heatmap(confusion_M,annot=True,cmap = "coolwarm",fmt = ".1f",annot_kws= 
{'size':100})
for tick_label in g.axes.get_yticklabels():
    tick_label.set_color("white")
    tick_label.set_fontsize("30")
fig.tight_layout()
Run Code Online (Sandbox Code Playgroud)

  • 虽然这个答案可能是正确且有用的,但如果您包含一些[解释](https://meta.stackoverflow.com/questions/392712/explaining-entirely-code-based-answers)来解释如何它有助于解决问题。如果有变化(可能不相关)导致它停止工作,并且读者需要了解它曾经是如何工作的,这在将来会变得特别有用。 (2认同)