точек - xticks python plot




Самый чистый способ скрыть каждую метку n-го тика в matplotlib colorbar? (2)

Для петли ticklabels и call set_visible() :

for label in cbar.ax.xaxis.get_ticklabels()[::2]:
    label.set_visible(False)

Ярлыки на горизонтальной панели цветов слишком близко друг к другу, и я не хочу уменьшать размер текста дальше:

cbar = plt.colorbar(shrink=0.8, orientation='horizontal', extend='both', pad=0.02)
cbar.ax.tick_params(labelsize=8)

Я хотел бы сохранить все тики, но удалять все остальные метки.

Большинство примеров, которые я нашел, передают список строк, указанный пользователем, в cbar.set_ticklabels (). Я ищу общее решение.

Я играл с вариациями

cbar.set_ticklabels(cbar.get_ticklabels()[::2])

а также

cbar.ax.xaxis.set_major_locator(matplotlib.ticker.MaxNLocator(nbins=4))

но я не нашел волшебную комбинацию.

Я знаю, что должен быть чистый способ сделать это, используя объект локатора.


Однострочный для тех, кто в это!

n = 7  # Keeps every 7th label
[l.set_visible(False) for (i,l) in enumerate(ax.xaxis.get_ticklabels()) if i % n != 0]




matplotlib