gpt4 book ai didi

python - 精细控制 Seaborn 图中的字体大小

转载 作者:IT老高 更新时间:2023-10-28 20:44:41 24 4
gpt4 key购买 nike

我目前正在尝试使用 Seaborn 为我的学术论文创建图表。这些图看起来很棒且易于生成,但我遇到的一个问题是对图中的字体大小进行了精细控制。

我的论文中的字体大小是 9pt,我想确保我的绘图中的字体大小是 9pt 或 10pt。但是在seaborn中,字体大小主要是通过字体缩放sns.set_context("paper", font_scale=0.9)来控制的。所以我很难找到合适的字体大小,除非通过反复试验。有没有更有效的方法来做到这一点?

我还想确保不同 seaborn 绘图之间的字体大小保持一致。但并非我所有的 seaborn 地 block 都具有相同的尺寸,所以似乎在所有地 block 上使用 same font_scale 不一定会在这些不同的地 block 上创建相同的字体大小?

我在下面附上了我的代码。我很欣赏关于如何为两栏学术论文设置图表格式的任何评论。我的目标是能够在不扭曲字体大小或绘图的情况下控制图形的大小。我用 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')

最佳答案

你是对的。这是一个记录不充分的问题。但是您可以在构建绘图后直接更改字体大小参数(通过与字体比例相反)。检查以下示例:

import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")

b = sns.boxplot(x=tips["total_bill"])
b.axes.set_title("Title",fontsize=50)
b.set_xlabel("X Label",fontsize=30)
b.set_ylabel("Y Label",fontsize=20)
b.tick_params(labelsize=5)
plt.show()

,结果如下:

Different font sizes for different labels

为了使其在绘图之间保持一致,我认为您只需要确保 DPI 相同。顺便说一句,它还可以定制一点 rc dictionaries因为“font.size”参数存在,但我不太确定该怎么做。

注意:我也不太明白他们为什么要更改轴标签和刻度的字体大小变量的名称。好像有点不直观。

关于python - 精细控制 Seaborn 图中的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36220829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com