Полужирный тиклабелс colorbar matplolib - PullRequest
0 голосов
/ 22 октября 2019

Чтобы сохранить аспект цветовой шкалы в подзаголовке с использованием cartopy, я вставляю новую ось (add_axes) в свой график, но при добавлении мне нужно изменить размер цветовой полосы и полужирный шрифт. Но tick_params и set_yticklabels не работают в новых осях.

# pos x,  pos y, size x, size y
cb_ax = fig.add_axes([0.91, 0.302, 0.015, 0.383])

bar = fig.colorbar(img, cax=cb_ax, extend='max',
                   shrink=0.8, pad=0.0, spacing='uniform',
                   orientation='vertical', ticks=clevs,
                   extendfrac='auto')

bar.set_label(label=f'(mm)', size=10, weight='bold')

# not working
# bar.tick_params(labelsize=10)

# not working
# bar.img.set_yticklabels(clevs, fontsize=9, weight='bold')

Весь код: https://pastebin.com/NfiMWf2n

Результат печати: https://1drv.ms/u/s!Amb6LUmV4LnKi55gRf6DqGDKjfTGxA?e=HCGeZb

1 Ответ

1 голос
/ 22 октября 2019

Вы можете установить вес и размер шрифта bar.ax:

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure()
img = plt.imshow(np.random.random((4,4)))
cb_ax = fig.add_axes([0.91, 0.302, 0.015, 0.383])
bar = fig.colorbar(img, cax=cb_ax, extend='max',
                   shrink=0.8, pad=0.0, spacing='uniform',
                   orientation='vertical',
                   extendfrac='auto')
fig.canvas.flush_events() #else bar.ax.get_yticklabels() is not yet updated
bar.ax.set_yticklabels(labels=bar.ax.get_yticklabels(), weight='bold', fontsize=5)
bar.set_label(label=f'(mm)', size=10, weight='bold')

Выход:
output of above example code

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...