从 Matplotlib 中的 Colorbar 中删除标签和刻度线

Remove Labels and Tick-marks from Colorbar in Matplotlib

我有一个热图,我想删除颜色栏上的标签和刻度线。我如何使用目前制作的热图(下面的代码)执行此操作?

import seaborn as sns
import matplotlib.pyplot as plt

sns.heatmap(my_heatmap, cmap='RdYlGn', vmin=0, vmax=1)
plt.rcParams["figure.figsize"] = (8, 6)
plt.title('10 mm Precipitation Probabilities\nTopeka, Kansas', fontsize = 16)
plt.xlabel('X', fontsize = 14)
plt.ylabel('Y', fontsize = 14)
plt.text(6.7,.18, 'High Probability')
plt.show()

(我宁愿它只是在栏的顶部说 高概率 ,如我制作的标签所示)。

您可以通过 cbar = ax.collections[0].colorbar 访问颜色栏(参见 )。

然后,您可以更改刻度 (cbar.set_ticks([])) 或设置新的刻度和新的刻度标签:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (8, 6)
my_heatmap = np.random.rand(10, 10)
ax = sns.heatmap(my_heatmap, cmap='RdYlGn', vmin=0, vmax=1)
# ax.get_figure().set_size_inches(8, 6)
ax.set_title('10 mm Precipitation Probabilities\nTopeka, Kansas', fontsize=16)
ax.set_xlabel('X', fontsize=14)
ax.set_ylabel('Y', fontsize=14)
cbar = ax.collections[0].colorbar
cbar.set_ticks([0, 0.5, 1])
cbar.set_ticklabels(['Low\nProbability', 'Average\nProbability', 'High\nProbability'])
# cbar.set_label('Probability')
plt.tight_layout()
plt.show()

请注意,plt.rcParams["figure.figsize"] 不会更改图形的大小,但会为将要创建的下一个图形设置默认大小。所以你需要在 sns.heatmap 之前调用它,如果之前创建了 none ,它会创建一个新图形。要更改已创建图形的大小,请使用 set_size_inches().