首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >seaborn在Python中重写matplotlib中的字体设置

seaborn在Python中重写matplotlib中的字体设置
EN

Stack Overflow用户
提问于 2016-05-11 19:09:39
回答 2查看 908关注 0票数 0

海运库中的despine函数似乎覆盖matplotlib中的字体设置参数。示例:

代码语言:javascript
复制
plt.figure()
plt.plot([1,2,3],[1,2,3])
plt.xticks([1,2,3], fontsize=13)
# despine blocks xtick labels font size
sns.despine(trim=True, offset=2)
plt.show()

如果我注释掉sns.despine(trim=True, offset=2)行,那么plt.xticksfontsize参数就能工作。如何使用despine而不让它覆盖我的字体大小设置?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-18 18:59:48

这是一个棘手的问题,我遇到了增加脊柱修剪/抵消功能到海运。你可以在这里看到我最初的问题:

Efficiently cache and restore matplotlib axes parameters after moving spines

在MPL邮件列表中提供了一些帮助之后,我们想出了一个解决方案:https://github.com/mwaskom/seaborn/blob/dfdd1126626f7ed0fe3737528edecb71346e9eb0/seaborn/utils.py#L288

看来这是我们工作时漏掉的一个边缘情况。

作为对您的解决办法,我建议您在格式化滴答之前先消除/抵消:

代码语言:javascript
复制
%matplotlib inline
from matplotlib import pyplot
import seaborn

fig, ax = pyplot.subplots()
# despine blocks xtick labels font size
seaborn.despine(trim=True, offset=2)

x = [1, 2, 3]
ax.plot(x, x)
ax.set_xticks(x)
ax.set_xticklabels(x, fontsize=13)

票数 1
EN

Stack Overflow用户

发布于 2016-05-11 19:26:01

尝试使用rcParams设置x抽签字体大小

代码语言:javascript
复制
import matplotlib as mpl
plt.figure()
mpl.rcParams['xtick.labelsize'] = 13 # must be place before the actual plot creation
plt.plot([1,2,3],[1,2,3])
# despine blocks xtick labels font size
sns.despine(trim=True, offset=2)
plt.show()

这应该可以工作,并且仍然正确地应用despine

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37171384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档