Mic*_*uhn 105 python matplotlib
我想要只有左轴和下轴,而不是默认的"盒装"轴样式,即:
+------+ |
| | |
| | ---> |
| | |
+------+ +-------
Run Code Online (Sandbox Code Playgroud)
这应该很简单,但我在文档中找不到必要的选项.
div*_*nex 112
这是来自官方网站HERE的建议Matplotlib 2.0解决方案:
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'].set_visible(False)
ax.spines['top'].set_visible(False)
# Only show ticks on the left and bottom spines
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
plt.show()
Run Code Online (Sandbox Code Playgroud)

tim*_*day 62
或者,这个
def simpleaxis(ax):
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.get_xaxis().tick_bottom()
ax.get_yaxis().tick_left()
Run Code Online (Sandbox Code Playgroud)
似乎在轴上实现相同的效果而不会失去旋转标签支持.
(Matplotlib 1.0.1;溶液的启发此).
had*_*enj 14
如果您需要从所有图中删除它,您可以在样式设置(样式表或 rcParams)中删除脊椎。例如:
import matplotlib as mpl
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
Run Code Online (Sandbox Code Playgroud)
如果要移除所有刺:
mpl.rcParams['axes.spines.left'] = False
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
mpl.rcParams['axes.spines.bottom'] = False
Run Code Online (Sandbox Code Playgroud)
如果您不需要刻度等(例如用于绘制定性插图),您还可以使用此快速解决方法:
使轴不可见(例如,使用plt.gca().axison = False),然后手动绘制它们plt.arrow.
(除了这里的综合答案之外,这更像是一个扩展评论.)
请注意,我们可以相互独立地隐藏这三个元素中的每一个:
隐藏边框(又名"脊椎"):ax.set_frame_on(False)或ax.spines['top'].set_visible(False)
要隐藏刻度: ax.tick_params(top=False)
要隐藏标签: ax.tick_params(labeltop=False)
图书馆Seaborn具有内置的函数despine()。
只需添加:
import seaborn as sns
Run Code Online (Sandbox Code Playgroud)
现在创建图形。并在末尾添加:
sns.despine()
Run Code Online (Sandbox Code Playgroud)
如果查看该函数的某些默认参数值,它将删除顶部和右侧的书脊,并保留底部和左侧的书脊:
sns.despine(top=True, right=True, left=False, bottom=False)
Run Code Online (Sandbox Code Playgroud)
在此处查看更多文档:https : //seaborn.pydata.org/generation/seaborn.despine.html
| 归档时间: |
|
| 查看次数: |
75742 次 |
| 最近记录: |