使用Matplotlib定义绘图中的网格大小

25

我正在使用Python中的Matplotlib进行绘图。我希望创建一个带有网格的图表,这里有一篇绘图教程中的示例。如果我的图表范围是y轴从0到14,并且我使用pylab.grid(True),那么它会生成一个大小为2的正方形网格,但我想要的网格大小是1。我该如何强制设定呢?

2个回答

26
尝试使用 ax.grid(True, which='both') 将网格线放置在主刻度和次刻度上,如此处所建议的。
编辑:或者像这样手动设置刻度:
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3,14],'ro-')

# set your ticks manually
ax.xaxis.set_ticks([1.,2.,3.,10.])
ax.grid(True)

plt.show()

我没有次要刻度,如何创建它们? - ashim

8
如果您想跟随您提到的示例,请按如下步骤操作:
>>> import numpy
>>> import pylab
>>> t = numpy.arange(0.0, 1.0+0.1, 0.01)
>>> s = numpy.cos(2*2*numpy.pi*t)
>>> pylab.plot(t,s)
>>> pylab.grid(True)
>>> pylab.xticks([i/10.0 for i in range(0,12)])
>>> pylab.show()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接