В настоящее время я пытаюсь использовать Seaborn для создания графиков для своих научных работ. Участки выглядят великолепно и легко сгенерированы, но одна проблема, с которой у меня возникают проблемы, - это тонкий контроль над размером шрифта на графиках.Тонкий контроль над размером шрифта на морских судах для академических работ
Размер моего шрифта в моей статье - 9pt, и я хотел бы убедиться, что размер шрифта на моих участках составляет 9pt или 10pt. Но в морском стиле размер шрифта в основном контролируется с помощью шкалы шрифтов sns.set_context("paper", font_scale=0.9)
. Поэтому мне трудно найти правильный размер шрифта, за исключением проб и ошибок. Есть ли более эффективный способ сделать это?
Я также хочу, чтобы размер шрифта был согласован между различными морскими графиками. Но не все мои морские сюжеты имеют одинаковые размеры, поэтому кажется, что с помощью тот же font_scale на всех участках не обязательно создает одинаковый размер шрифта на этих разных участках?
Я прикрепил свой код ниже. Я ценю любые комментарии о том, как отформатировать сюжет для двухколоночной учебной статьи. Моя цель - иметь возможность контролировать размер фигуры без искажения размера шрифта или графика. Я использую Latex для написания моей статьи.
# Seaborn setting
sns.set(style='whitegrid', rc={"grid.linewidth": 0.1})
sns.set_context("paper", font_scale=0.9)
plt.figure(figsize=(3.1, 3)) # Two column paper. Each column is about 3.15 inch wide.
color = sns.color_palette("Set2", 6)
# Create a box plot for my data
splot = sns.boxplot(data=df, palette=color, whis=np.inf,
width=0.5, linewidth = 0.7)
# Labels and clean up on the plot
splot.set_ylabel('Normalized WS')
plt.xticks(rotation=90)
plt.tight_layout()
splot.yaxis.grid(True, clip_on=False)
sns.despine(left=True, bottom=True)
plt.savefig('test.pdf', bbox_inches='tight')
Я не совсем уверен, что ваш вопрос здесь.Вы можете предоставить размер шрифта различным параметрам rc, связанным с шрифтом, для изменения значений по умолчанию, и вы можете передать шрифт для любой конкретной функции построения, чтобы указать шрифты для создаваемых элементов. 'font_scale' - это не единственный способ сделать это, это просто удобный способ сразу изменить многие вещи. – mwaskom
Не отвечая на этот вопрос, но, возможно, обратившись к фундаментальному изменению подхода. Посмотрите на пакет ['psfrag'] (https://www.ctan.org/pkg/psfrag?lang=en). Это позволяет вам заменять символы на фигуре строками. – Schorsch
@mwaskom Вы ответили на мой вопрос - укажите размер шрифта через rc. Но одна вещь, которая, на мой взгляд, неплохо бы иметь в море, - это указать шрифт_размер, который глобально применяется ко всем свойствам шрифта. Поскольку я использую rc, я должен индивидуально установить каждый параметр шрифта (например, axes.labelsize, legend.fontsize). – kc2uno