Если я поверну метки цветовой шкалы, используемый мной формат будет сброшен (игнорируется).
fig.colorbar
не принимает вращение, а cb.ax.set_xticklabels
не принимает формат.
Я не мог найти способ сделать обе настройки.
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.ticker import FormatStrFormatter
test = np.random.rand(100, 100)
np.random.seed(12345)
fig, axs = plt.subplots(1, 2, figsize=(6, 5))
fmts = ["%d", "%.5f"]
for i, ax in enumerate(axs.tolist()):
im = ax.imshow(test, origin="lower")
cb = fig.colorbar(im, ax=ax, orientation='horizontal',
format=FormatStrFormatter(fmts[i]))
ax.set_title(f"Format {fmts[i]}")
cb.ax.set_xticklabels(cb.get_ticks(), rotation=45)
plt.tight_layout()
plt.show()
Метки тиковых цветовых полос должны быть в формате "% d" и "% .5f", но, как вы можете видеть, ни один из них не делает.