私は現在、Seabornを使用して学術論文のプロットを作成しようとしています。プロットは大きくて見やすく見えますが、私が問題を抱えている問題の1つは、プロット内のフォントサイズを細かく制御することです。学術論文のSeabornプロットのフォントサイズを細かく制御
私の論文のフォントサイズは9ptで、私のプロットのフォントサイズは9ptか10ptのどちらかであることを確認したいと思います。しかし海底では、フォントサイズは主にフォントスケールsns.set_context("paper", font_scale=0.9)
によって制御されます。それで、試行錯誤以外の正しいフォントサイズを見つけるのは難しいです。これを行うより効率的な方法はありますか?
フォントサイズが異なる海軍プロット間で一貫していることを確認したいと思います。しかし、すべての私の海軍のプロットは同じ次元を持っているわけではないので、同じfont_scaleをすべてのプロットで使用しても、必ずしもこれらの異なるプロット間で同じフォントサイズを作成するとは限りません。
以下に自分のコードを添付しました。 2列の学術論文のプロットをどのようにフォーマットするかについてのコメントは感謝しています。私の目標は、フォントサイズやプロットを歪ませずに、Figureのサイズを制御できるようにすることです。私はラテックスを使って自分の論文を書いています。
# 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=ja)パッケージを見てください。 Figure内の文字を文字列で置き換えることができます。 – Schorsch
@mwaskomあなたは私の質問に答えました - rcを通してフォントサイズを指定してください。しかし、私がシーボーンで持つのがいいと思うことは、すべてのフォントプロパティにグローバルに適用されるfont_sizeを指定できることです。 rcを使用するので、各フォントパラメータ(例えば、axes.labelsize、legend.fontsize)を個別に設定する必要があります。 – kc2uno