Python 从matplotlib绘图中删除特定记号

Python 从matplotlib绘图中删除特定记号,python,matplotlib,Python,Matplotlib,我正在尝试从下面的绘图中删除原点标记,以防止它们重叠,或者将它们彼此移开也很好我尝试了以下方法: xticks = ax.xaxis.get_major_ticks() xticks[0].label1.set_visible(False) yticks = ax.yaxis.get_major_ticks() yticks[0].label1.set_visible(False) 但是,这会从y轴删除第一个和最后一个记号,如下所示: 有人知道怎么做吗?任何帮助都将不胜感激 编辑:添加了更

我正在尝试从下面的绘图中删除原点标记,以防止它们重叠,或者将它们彼此移开也很好我尝试了以下方法:

xticks = ax.xaxis.get_major_ticks()
xticks[0].label1.set_visible(False)
yticks = ax.yaxis.get_major_ticks()
yticks[0].label1.set_visible(False)

但是,这会从y轴删除第一个和最后一个记号,如下所示:

有人知道怎么做吗?任何帮助都将不胜感激

编辑:添加了更多示例代码

import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
plt.xlabel(xlab)
plt.ylabel(ylab)
ax.spines["right"].set_color('none')
ax.xaxis.set_ticks_position('top')
ax.yaxis.set_ticks_position('left')
ax.spines["bottom"].set_color('none')
ax.xaxis.set_label_position('top')
ax.spines['left'].set_color('black')
ax.spines['top'].set_color('black')
ax.tick_params(colors='black')
xticks = ax.xaxis.get_major_ticks()
xticks[0].label1.set_visible(False)
yticks = ax.yaxis.get_major_ticks()
yticks[-1].label1.set_visible(False)
for x, y in all:
    ax.plot(x, y, 'ro')

你就快到了。y轴的原点位于底部。这意味着您要删除的位于顶部的勾号是最后一个,即
yticks[-1]

yticks[-1].set_visible(False)
为什么不干脆做呢

ax.set\u xticks(ax.get\u xticks()[1:]
ax.set\u-yticks(ax.get\u-yticks()[:-1])

ax对象是
ax

如此接近,但迄今为止,我在这里尝试了两种答案,结果不同!将yticks设置为[-1]会删除-145处的标签,我不明白的是我最初的努力是如何从y轴上删除2个标记的,但这不是一个最小的工作示例。对不起,您还需要什么?脚本应该会重现您描述的错误。如果我尝试运行您的代码段,很明显会出现错误,因为例如,
all
没有定义。all是传递给此函数的数据列表,我想您也不需要这些数据,是吗?我尝试了两种答案,这成功地删除了0.2处的标签,但是matplotlib 3.0.2中-145处的勾号而不是140处的勾号,这隐藏了所有的勾号标签。什么?
yticks[-1].set_visible(False)