Оси для тиков находятся в диапазоне от 0 (внизу) до 1 (вверху). Разделив пространство равномерно на 6 частей, вы увидите нижнюю часть каждой цветовой области. Добавление половины этого будет приятно в центре. Следовательно, ticks=np.linspace(0,1,6,endpoint=False) + 1/12
. Или, что эквивалентно, ticks=(np.arange(6)+1/2)/6
.
Вы можете удалить линии галочек, установив их длину на ноль: cbar.ax.axes.tick_params(length=0)
.
Чтобы получить правильное значение less than or equal
, имея метки в Формат TeX является опцией. Как в r'$\leq-6$'
.
Некоторый демонстрационный код:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
c_map = mpl.colors.ListedColormap(['#c7e9b4','#7fcdbb','#ffffff','#41b6c4','#225ea8','#253494'])
sm = plt.cm.ScalarMappable(cmap=c_map)
cbar = plt.colorbar(sm, ticks=np.linspace(0, 1, 6, endpoint=False) + 1/12, label='Change in user population')
cbar.ax.set_yticklabels([r'$\leq-6$', r'$\geq-1$', '$0$', r'$\leq3$', r'$\leq6$', r'$\geq7$'])
cbar.ax.axes.tick_params(length=0)
plt.show()