Настройка шрифта при использовании таблицы стилей - PullRequest
0 голосов
/ 15 февраля 2019

Я использую таблицу стилей 'ggplot'.Теперь стиль отличный, за исключением того, что я хотел бы специально изменить стиль шрифта. Возможно ли это?

Если найдено документация о настройке стилей.Тем не менее, я просто хочу изменить шрифт, сохранив остальную часть стиля.

Кроме того, кто-нибудь знает, где можно посмотреть детали настройки каждого style (например, шрифт, figsize и т. Д.).)?

plt.imshow(ori, vmin = 0, vmax = 300)
plt.style.use('ggplot')
plt.show() 

Ответы [ 3 ]

0 голосов
/ 15 февраля 2019

Да, это возможно.И вы можете сделать это либо локально, передав шрифт отдельным меткам

font = {'fontname':'your font'}
plt.xlabel('xlabel', **hfont)
plt.ylabel('xlabel', **hfont)

или глобально

 import matplotlib.pyplot as plt
 plt.rcParams['font.family'] = 'your font'
0 голосов
/ 15 февраля 2019

Объединение стилей

Я думаю, что наиболее элегантным является объединение стилей .

Например, вы можете определить свои собственные настройки шрифта в mystyle.mplstyle (см. Ниже, где его сохранить и как он может выглядеть).Чтобы получить стиль ggplot с вашими собственными настройками шрифта, вам нужно будет только указать:

plt.style.use(['ggplot', 'mystyle'])

Это решение элегантно, потому что оно обеспечивает единообразное применение на всех ваших графиках и позволяет смешивать и-match.

Где сохранить свой собственный стиль?

Взятый из одного из моих собственных стилей mystyle.mplstyle может содержать следующие записи (вы должны явно настроить их в соответствии с вашими потребностями):

font.family  : serif
font.serif   : CMU Serif
font.weight  : bold
font.size    : 18
text.usetex  : true

Который вы должны сохранить в директории конфигурации matplotlib.Для меня это ~/.matplotlib/stylelib/, но используйте

import matplotlib
matplotlib.get_configdir()

, чтобы узнать, что использовать в вашей операционной системе.См. документацию .Вы также можете написать функцию Python для установки в нужном месте.

Где найти существующие стили?

Тогда заключительная часть вашего вопроса.Во-первых, полезно знать, что вы можете получить список доступных стилей, используя

import matplotlib.pyplot as plt
plt.style.available

См. документацию для графического представления.

Как проверить например ggplot.mplstyle?Я думаю, что лучшая ссылка в источнике matplotlib .Вы также можете найти файлы *.mplstyle в своей системе.Где, однако, зависит от вашей операционной системы и установки.Для меня

find / -iname 'ggplot.mplstyle' 2>/dev/null

дает

/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/ggplot.mplstyle

Или, в более общем смысле, вы можете искать все стили:

find / -iname '*.mplstyle' 2>/dev/null

Для Windows я не совсемэксперт, но, возможно, пути к файлам, которые были перечислены выше, дают вам подсказку, где искать.

Python-скрипт для установки стиля в нужном месте

Чтобы установить ваши собственные стили вВ правильном месте вы можете создать скрипт, который будет выглядеть примерно так:

def copy_style():

    import os
    import matplotlib

    # style definition(s)

    styles = {}

    styles['mystyle.mplstyle'] = '''
font.family          : serif
'''

    # write style definitions

    # directory name where the styles are stored
    dirname = os.path.abspath(os.path.join(matplotlib.get_configdir(), 'stylelib'))

    # make directory if it does not yet exist
    if not os.path.isdir(dirname): os.makedirs(dirname)

    # write all styles
    for fname, style in styles.items():
        open(os.path.join(dirname, fname),'w').write(style)
0 голосов
/ 15 февраля 2019

Попробуйте rcParams

matplotlib.rcParams.update({'font.size': 12})

Подробнее matplotlib

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