Matplotlib:在其他图形元素后面绘制网格线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib:在其他图形元素后面绘制网格线相关的知识,希望对你有一定的参考价值。
在Matplotlib中,我按如下方式制作虚线网格线:
fig = pylab.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.grid(color='gray', linestyle='dashed')
但是,我无法弄清楚如何(或者甚至可能)使网格线在其他图形元素(如条形图)后面绘制。更改添加网格与添加其他元素的顺序没有区别。
是否有可能使网格线出现在其他所有的后面?
答案
根据这个 - http://old.nabble.com/axis-elements-and-zorder-td6119088.html - 你可以使用Axis.set_axisbelow(True)
(我目前正在第一次安装matplotlib,所以不知道这是否正确 - 我只是通过谷歌搜索“matplotlib z order grid” - “z order”通常用于描述这种事情(z是轴“在页面外”))
另一答案
对我来说,目前还不清楚如何应用andrew cooke的答案,所以这是一个完整的解决方案,基于:
ax.set_axisbelow(True)
ax.yaxis.grid(color='gray', linestyle='dashed')
另一答案
如果要验证所有数字的设置,可以设置
plt.rc('axes', axisbelow=True)
要么
plt.rcParams['axes.axisbelow'] = True
它适用于Matplotlib> = 2.0。
另一答案
我有同样的问题,以下工作:
[line.set_zorder(3) for line in ax.lines]
fig.show() # to update
如果不起作用,请将3
to增加一个更高的值。
以上是关于Matplotlib:在其他图形元素后面绘制网格线的主要内容,如果未能解决你的问题,请参考以下文章