Как изменить вес галочек и метку цветной полосы в Matplotlib?

Я написал функцию сюжета следующим образом:

import matplotlib as mpl
import matplotlib.pyplot as plt


def plotPot(func, title):

    plt.figure(num=None, figsize=(2, 1.8), dpi=800, facecolor='w', edgecolor='k')
    font = {'family': 'DejaVu Sans', 'size': 8}
    mpl.rc('font', **font)
    mpl.rcParams['axes.titlepad'] = 12

    xi = np.linspace(-10, 10, 100)
    yi = np.linspace(-10, 10, 100)
    X, Y = np.meshgrid(xi, yi)

    Z = func(X, Y)

    plt.contourf(X, Y, Z, 20, cmap='RdGy')


    plt.xlabel("x / kpc")
    plt.xticks(fontsize=5)

    plt.ylabel("y / kpc")
    plt.yticks(np.arange(-10, 15, step=5))
    plt.yticks(fontsize=5)

    tick_locator = mpl.ticker.MaxNLocator(nbins=5)
    cbar = plt.colorbar(extend='neither', spacing='proportional',
                        orientation='vertical', shrink=1)
    cbar.locator = tick_locator
    cbar.update_ticks()
    cbar.ax.tick_params(labelsize=5, grid_alpha=0.5, direction='in')
    cbar.set_label(label=r'$g^{2}/cm^{2}$', size='small', weight='light')

    return cbar

и данный сюжет: введите здесь описание изображения

как видите, галочки и метка графика выделены жирным шрифтом. Как я могу изменить их все в более легкой форме?


person Veronica    schedule 21.02.2020    source источник
comment
Ваш код создает для меня эту цифру (при определении всех неопределенных переменных). Ваша фигура почему-то кажется слишком маленькой; Вы можете подтвердить, что это действительно код, создающий изображение?   -  person ImportanceOfBeingErnest    schedule 21.02.2020
comment
Вы можете передать fontweight галочкам: plt.yticks(fontsize=5, fontweight='normal'). В словарях в верхней части этого файла можно увидеть все опции   -  person scleronomic    schedule 21.02.2020
comment
да, я уверен, что это код производит изображение. Даже я изменил размер рисунка, эти шрифты по-прежнему выделены жирным шрифтом в цветовой полосе.   -  person Veronica    schedule 21.02.2020
comment
вес шрифта изменяет только галочки xy, но не могли бы вы объяснить, как изменить галочки на цветовой полосе?   -  person Veronica    schedule 21.02.2020
comment
По моему опыту, определение размера фигуры не всегда работает должным образом и не одинаково для каждого вывода. Вместо этого попробуйте определить figure.figsize через plt.rcParams и сохраните свою фигуру в файл png. Это должно дать вам нечто более похожее на то, что видит @ImportanceOfBeingErnest.   -  person Jan Vorac    schedule 21.02.2020
comment
plt.setp(cbar.ax.yaxis.get_ticklabels(), weight='normal', fontsize=5) должно работать, как в этом ответе   -  person scleronomic    schedule 21.02.2020
comment
@JanVorac Размер фигуры должен быть постоянным. Если это не так, это будет ошибкой, и о ней нужно будет сообщить (но, честно говоря, я сомневаюсь, что это так). Как следствие, я могу точно сказать, что показанный код не может создать фигуру, показанную в вопросе, потому что эта цифра не 4 на 3,3 дюйма.   -  person ImportanceOfBeingErnest    schedule 21.02.2020