当我运行下面的代码时,如果导入seaborn的行被注释掉,它可以很好地工作,可以在函数中设置fontsize并在整个绘图中设置它(我用它来处理一个更复杂的函数,有几个子图和轴,并希望通用字体设置)。为什么seaborn阻止我的with plt.rc_context({'font.size': fontsize,}):
工作?我怎么能阻止它这样做,同时仍然能够利用seaborn的功能? (如果解决方案涉及删除那些,我不需要它的样式默认值)
import matplotlib.pyplot as plt
import numpy as np
import seaborn
def plotthing(x, y, fontsize=8):
with plt.rc_context({'font.size': fontsize,}):
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlabel("x")
ax.set_xlabel("y")
return fig, ax
x = np.arange(0, 10)
y = 2*x**2
fig, ax = plotthing(x, y, fontsize=2)
fig.savefig("test.pdf")
答案 0 :(得分:1)
我通过添加
解决了这个问题# reset RC params to original
sns.reset_orig()
我导入seaborn以撤消它对matplotlib的rc params的更改
答案 1 :(得分:1)
如果您不希望seaborn进行任何样式更改,您可以单独导入seaborn API:
import seaborn.apionly as sns
在问题的情况下,这也可以正常工作。