而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
这应该很容易,但我在文档中找不到必要的选项。
而不是默认的“盒装”轴样式,我想只有左轴和底部轴,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
这应该很容易,但我在文档中找不到必要的选项。
当前回答
如果你需要从所有的图中删除它,你可以在样式设置(样式表或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
其他回答
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
如果你需要从所有的图中删除它,你可以在样式设置(样式表或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
[编辑]matplotlib现在(2013-10)版本1.3.0,其中包括这个
该功能实际上是刚刚添加的,您需要Subversion版本来实现它。您可以在这里看到示例代码。
我只是更新一下,现在网上有一个更好的例子。虽然还需要Subversion版本,但还没有发布。
Matplotlib 0.99.0 RC1刚刚发布,它包含了这个功能。
(除了这里的全面回答之外,这更像是一个扩展的评论。)
注意,我们可以分别隐藏这三个元素:
隐藏边界(又名“spine”):ax.set_frame_on(False)或ax.spines['top'].set_visible(False) 隐藏刻度:ax.tick_params(top=False) 隐藏标签:ax.tick_params(labeltop=False)
如果你不需要刻度之类的(例如绘制定性插图),你也可以使用这个快速的解决方案:
使轴不可见(例如使用plt.gca())。axison = False),然后用plot .arrow手动绘制它们。