而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:

+------+         |
|      |         |
|      |   --->  |
|      |         |
+------+         +-------

这应该很容易,但我在文档中找不到必要的选项。


当前回答

Library Seaborn内置了.despine()函数。

添加:

import seaborn as sns

现在创建图形。最后加上:

sns.despine()

如果你看一下函数的一些默认参数值,它会删除顶部和右侧的spine,并保留底部和左侧的spine:

sns.despine(top=True, right=True, left=False, bottom=False)

在这里查看进一步的文档: https://seaborn.pydata.org/generated/seaborn.despine.html

其他回答

这是官方网站推荐的Matplotlib 3解决方案:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

ax = plt.subplot(111)
ax.plot(x, y)

# Hide the right and top spines
ax.spines[['right', 'top']].set_visible(False)

plt.show()

[编辑]matplotlib现在(2013-10)版本1.3.0,其中包括这个

该功能实际上是刚刚添加的,您需要Subversion版本来实现它。您可以在这里看到示例代码。

我只是更新一下,现在网上有一个更好的例子。虽然还需要Subversion版本,但还没有发布。

Matplotlib 0.99.0 RC1刚刚发布,它包含了这个功能。

另一种非全局方式的方法是使用matplotlib.pyplot。Rc_context上下文管理器,如下所示:

with plt.rc_context({
    "axes.spines.right": False,
    "axes.spines.top": False,
}):
    fig, ax = plt.subplots()
    ...

Library Seaborn内置了.despine()函数。

添加:

import seaborn as sns

现在创建图形。最后加上:

sns.despine()

如果你看一下函数的一些默认参数值,它会删除顶部和右侧的spine,并保留底部和左侧的spine:

sns.despine(top=True, right=True, left=False, bottom=False)

在这里查看进一步的文档: https://seaborn.pydata.org/generated/seaborn.despine.html

如果你想经常应用它,你也可以创建一个样式表,如这里所述,并使用这些设置:

axes.spines.left:   True
axes.spines.bottom: True
axes.spines.top:    False
axes.spines.right:  False