反转颜色条的颜色顺序(不是颜色图)(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()
查看以下结果:
我有一个 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()
查看以下结果: