在Matplotlib中,我按如下方式制作虚线网格线:
fig = pylab.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.grid(color='gray', linestyle='dashed')
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何(或者甚至可能)使网格线在其他图形元素(如条形图)后面绘制.更改添加网格与添加其他元素的顺序没有区别.
是否有可能使网格线出现在其他所有的后面?
我想在背景中创建一些带有网格的 xkcd 图。像这个例子,但是当plt.xkcd()网格不会出现在图中。
from matplotlib import pyplot as plt
import numpy as np
plt.xkcd()
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.xticks([])
plt.yticks([])
ax.set_ylim([-30, 10])
plt.grid()
data = np.ones(100)
data[70:] -= np.arange(30)
plt.annotate(
'THE DAY I REALIZED\nI COULD COOK BACON\nWHENEVER I WANTED',
xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))
plt.plot(data)
plt.xlabel('time')
plt.ylabel('my overall health')
plt.show()
Run Code Online (Sandbox Code Playgroud)
在使用 mplot3d 绘制的图的情况下,网格是“工作的”,如本例所示。虽然,网格似乎是完美的。如何创建网格?