Python 当脊椎位于中心时,ax.grid将覆盖刻度标签

Python 当脊椎位于中心时,ax.grid将覆盖刻度标签,python,matplotlib,Python,Matplotlib,使用ax.grid()并将脊椎移动到绘图的中间时,网格线将覆盖轴标签。有没有办法阻止这种情况并将轴标签移到“前”位置 编辑:我感兴趣的是刻度标签(数字),而不是可以轻松移动的轴标签 编辑:使MWE和图像完全匹配 编辑:matplotlib版本2.0.0 您发布的代码不会创建您显示的图形。如果我运行您展示的代码,那么网格线实际上位于脊椎顶部并不明显。你能给我看一下复制这个数字的代码吗?问题是这是不可复制的。按原样运行代码时,网格线上方已经有了数字。使用与1不同的alpha可能也无助于清楚地显示问

使用ax.grid()并将脊椎移动到绘图的中间时,网格线将覆盖轴标签。有没有办法阻止这种情况并将轴标签移到“前”位置

编辑:我感兴趣的是刻度标签(数字),而不是可以轻松移动的轴标签

编辑:使MWE和图像完全匹配

编辑:matplotlib版本2.0.0


您发布的代码不会创建您显示的图形。如果我运行您展示的代码,那么网格线实际上位于脊椎顶部并不明显。你能给我看一下复制这个数字的代码吗?问题是这是不可复制的。按原样运行代码时,网格线上方已经有了数字。使用与1不同的alpha可能也无助于清楚地显示问题(最好使用粗不透明线,
alpha=1,线宽=3
),清楚地说明您使用的matplotlib版本。我使用matplotlib 2.0.2运行了您的示例(我没有2.0.0可用的环境)和。如果您需要版本2.0,我建议您更新到2.0.2。如果没有特殊原因使用此特定版本,请直接使用2.2.2。
#!/usr/bin/env python                                                                                

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = plt.gca()
ax.minorticks_on()

ax.grid(b=True, which='major', color='k', linestyle='-',alpha=1,linewidth=1)
ax.grid(b=True, which='minor', color='k', linestyle='-',alpha=1,linewidth=1)

x = np.linspace(-5,5,100)
y = np.linspace(-5,5,100)

plt.plot(x,y)

plt.yticks([-5,-4,-3,-2,-1,0,1,2,3,4,5])
ax.spines['left'].set_position(('data', 0))

plt.show()