而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
这应该很容易,但我在文档中找不到必要的选项。
而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
这应该很容易,但我在文档中找不到必要的选项。
当前回答
虽然如果你想做的只是关闭轴线,接受的答案是很好的,但我建议熟悉.set()函数,因为你可以传递额外的kwargs来控制线的样式、粗细等,使你的代码更加灵活和可重用。它还减少了您需要学习的matplotlib函数的数量。
Op可以这样做:
ax.spines.top.set(visible=False)
ax.spines.right.set(visible=False)
但你也可以很容易地做这样的事情:
ax.spines.right.set(color='red', linestyle='--', linewidth=2, position=['data',2])
ax.spines.top.set(color='red', linestyle='--', linewidth=2, position=['data',5])
请在这里查看文档。
其他回答
如果你想经常应用它,你也可以创建一个样式表,如这里所述,并使用这些设置:
axes.spines.left: True
axes.spines.bottom: True
axes.spines.top: False
axes.spines.right: False
虽然如果你想做的只是关闭轴线,接受的答案是很好的,但我建议熟悉.set()函数,因为你可以传递额外的kwargs来控制线的样式、粗细等,使你的代码更加灵活和可重用。它还减少了您需要学习的matplotlib函数的数量。
Op可以这样做:
ax.spines.top.set(visible=False)
ax.spines.right.set(visible=False)
但你也可以很容易地做这样的事情:
ax.spines.right.set(color='red', linestyle='--', linewidth=2, position=['data',2])
ax.spines.top.set(color='red', linestyle='--', linewidth=2, position=['data',5])
请在这里查看文档。
另一种非全局方式的方法是使用matplotlib.pyplot。Rc_context上下文管理器,如下所示:
with plt.rc_context({
"axes.spines.right": False,
"axes.spines.top": False,
}):
fig, ax = plt.subplots()
...
这是官方网站推荐的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()
如果你不需要刻度之类的(例如绘制定性插图),你也可以使用这个快速的解决方案:
使轴不可见(例如使用plt.gca())。axison = False),然后用plot .arrow手动绘制它们。