如何为 seaborn 箱线图设置 y 轴范围

105

官方seaborn文档中,我了解到可以创建如下的箱线图:

import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", data=tips)

Seaborn Boxplot Example

我的问题是:如何限制此图的y轴范围?例如,我希望y轴在[10, 40]之间。有没有简单的方法可以做到这一点?
1个回答

163
这是标准的matplotlib.pyplot:
import matplotlib.pyplot as plt

plt.ylim(10, 40)

或者更简单点,就像mwaskom在下面评论的那样:
ax.set(ylim=(10, 40))

enter image description here


37
或者更好的是,ax.set(ylim=(10, 40))。该语句意为将y轴的取值范围限制在10到40之间。 - mwaskom
2
为什么这样更好,@mwaskom? - MERose
5
Mwaskom 很可能更喜欢 matplotlib 面向对象的一面(在对象上调用方法),而不是 matplotlib.pyplot 更加过程化的方法(按照特定顺序调用全局函数)。 - NasaGeek
如果我的 y 轴是日期时间值,我该如何按 @mwaskom 给出的格式编写这些值?编写日期时会出现无效令牌错误。 - deadcode
3
我认为在新的seaborn图表(relplot、catplot)上不适用"plt.ylim(10, 40)"。还有其他一些情况也是如此。"ax.set(ylim=(10, 40))"可以解决这个问题。 - bbennett36
为了限制时间戳轴的范围,请使用以下代码:ax.set_ylim(['2016-01-01','2019-01-01'])。在该代码中,@deadcode提供了该建议。 - Ikbel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接