反转颜色条的颜色顺序(不是颜色图)(Matplotlib)

Reverse color order of colorbar (not colormap) (Matplotlib)

我有一个 pandas 数据框,有 350 行 × 16 列,只有 0 和 1。

我创建了一个相关矩阵

dummy.corr(method ='kendall')

我正在绘制相关图:

f = plt.figure(figsize=(19, 15))
plt.matshow(dummy.corr(), fignum=f.number)
plt.xticks(range(dummy.select_dtypes(['number']).shape[1]), dummy.select_dtypes(['number']).columns, fontsize=14, rotation=45)
plt.yticks(range(dummy.select_dtypes(['number']).shape[1]), dummy.select_dtypes(['number']).columns, fontsize=14)
cb = plt.colorbar()



cb.ax.tick_params(labelsize=14)



plt.grid(b=None)

我想颠倒颜色的顺序。我发现的大多数答案都与颜色图有关,但我只是在使用颜色条。 我该怎么做?

调用 matshow 时使用的默认颜色图是 viridis。如果您在 matshow 中使用反向 viridis 颜色图 (viridis_r),您将自动获得反向颜色条。见下文:

import matplotlib.pyplot as plt
import numpy as np

fig=plt.figure(figsize=(10,5))
c=np.random.choice(10,size=(10,10))

#Not reversed
ax1=plt.subplot(121)
ax1.set_title('Not reversed')
dat1=ax1.matshow(c)
cb1=plt.colorbar(dat1)

#reversed
ax2=plt.subplot(122)
ax2.set_title('Reversed')
dat2=ax2.matshow(c,cmap='viridis_r')
cb2=plt.colorbar(dat2)

plt.show()

查看以下结果: