而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
这应该很容易,但我在文档中找不到必要的选项。
而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
这应该很容易,但我在文档中找不到必要的选项。
当前回答
如果你想经常应用它,你也可以创建一个样式表,如这里所述,并使用这些设置:
axes.spines.left: True
axes.spines.bottom: True
axes.spines.top: False
axes.spines.right: False
其他回答
[编辑]matplotlib现在(2013-10)版本1.3.0,其中包括这个
该功能实际上是刚刚添加的,您需要Subversion版本来实现它。您可以在这里看到示例代码。
我只是更新一下,现在网上有一个更好的例子。虽然还需要Subversion版本,但还没有发布。
Matplotlib 0.99.0 RC1刚刚发布,它包含了这个功能。
这是官方网站推荐的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()
如果你想经常应用它,你也可以创建一个样式表,如这里所述,并使用这些设置:
axes.spines.left: True
axes.spines.bottom: True
axes.spines.top: False
axes.spines.right: False
另一种非全局方式的方法是使用matplotlib.pyplot。Rc_context上下文管理器,如下所示:
with plt.rc_context({
"axes.spines.right": False,
"axes.spines.top": False,
}):
fig, ax = plt.subplots()
...
如果你需要从所有的图中删除它,你可以在样式设置(样式表或rcParams)中删除脊。例句:
import matplotlib as mpl
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
如果你想去除所有刺:
mpl.rcParams['axes.spines.left'] = False
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
mpl.rcParams['axes.spines.bottom'] = False