Matplotlib: нарисуйте линии сетки позади других элементов графика
в Matplotlib я делаю пунктирные линии сетки следующим образом:
fig = pylab.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.grid(color='gray', linestyle='dashed')
однако, я не могу узнать, как (или даже если это возможно) сделать линии сетки быть нарисованы за другими элементами графика, такими как бары. Изменение порядка добавления сетки по сравнению с добавлением других элементов не имеет никакого значения.
можно ли сделать так, чтобы линии сетки отображаются за все остальное?
4 ответа:
согласно этому -http://old.nabble.com/axis-elements-and-zorder-td6119088.html - Вы можете использовать
Axis.set_axisbelow(True)
(в настоящее время я устанавливаю matplotlib в первый раз, поэтому не знаю, правильно ли это - я просто нашел его, погуглив "matplotlib Z order grid" - "Z order" обычно используется для описания такого рода вещей (z является осью "вне страницы"))
мне было непонятно, как применить ответ Эндрю Кука, так что это полное решение, основанное на этом:
ax.set_axisbelow(True) ax.yaxis.grid(color='gray', linestyle='dashed')