gpt4 book ai didi

python - 在保留 matplotlib 样式的同时使用 seaborn 缩放图形的字体

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:35 24 4
gpt4 key购买 nike

我有一些预定义的 matplotlibrc 样式用于我的绘图。下面是用它设置样式的示例图像

enter image description here

另一方面,我发现 seaborn 的 sns.set(font_scale=1.25) 非常方便,可以让我快速控制字体大小。
然而,在更改字体大小的同时,它还会将默认的 seaborn 样式应用于我的绘图,因此 matplotlib 的默认设置会被覆盖。
我尝试了 sns.set(style=None, font_scale=1.25) 但轴标签的线条颜色和字体系列仍然更改。

enter image description here

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

#sns.set(style=None, font_scale=1.25)

fig = plt.figure(figsize=(3.4, 2.1), frameon=False)
fig.tight_layout()

x = np.linspace(0, 2, 500)

ax = fig.add_subplot(111)
ax.set_xlabel('xlabel, some units')
ax.set_ylabel('ylabel, some units')

ax.plot(x, x**0.5, label='$x^{0.5}$')
ax.plot(x, x**1.5, label='$x^{1.5}$')
ax.legend()

fig.savefig('output.png')
plt.close(fig)

最佳答案

一种可能性是编写你自己的函数来重现 seaborn 在“幕后”所做的事情

本文改编自seaborn's code on github :

def scale_fonts(font_scale):
font_keys = ["axes.labelsize", "axes.titlesize", "legend.fontsize",
"xtick.labelsize", "ytick.labelsize", "font.size"]
font_dict = {k: matplotlib.rcParams[k] * font_scale for k in font_keys}
matplotlib.rcParams.update(font_dict)

您必须确保上面的 font_keys 的值在您的 rc 文件中是数字(例如 12 而不是“medium”),除此之外,仅此而已。

关于python - 在保留 matplotlib 样式的同时使用 seaborn 缩放图形的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51323889/

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