Multiple grids on matplotlib


Question

I'm making plots in Python and matplotlib, which I found huge and flexible, till now.

The only thing I couldn't find how to do, is to make my plot have multiple grids. I've looked into the documentation, but that's just for line style...

I'm thinking on something like two plots each one with a different grid, which will overlap them.

So, for example I want to make this graph:

Alt text http://img137.imageshack.us/img137/2017/waittimeprobability.png

Have a similar grid marks as this one:

Alt text http://img137.imageshack.us/img137/6122/saucelabssauceloadday.png

And by that, I mean, more frequent grids with lighter color between important points.

1
17
1/8/2018 11:03:43 PM

Accepted Answer

How about something like this (adapted from here):

from pylab import *
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

t = arange(0.0, 100.0, 0.1)
s = sin(0.1*pi*t)*exp(-t*0.01)

ax = subplot(111)
plot(t,s)

ax.xaxis.set_major_locator(MultipleLocator(20))
ax.xaxis.set_major_formatter(FormatStrFormatter('%d'))
ax.xaxis.set_minor_locator(MultipleLocator(5))

ax.yaxis.set_major_locator(MultipleLocator(0.5))
ax.yaxis.set_minor_locator(MultipleLocator(0.1))

ax.xaxis.grid(True,'minor')
ax.yaxis.grid(True,'minor')
ax.xaxis.grid(True,'major',linewidth=2)
ax.yaxis.grid(True,'major',linewidth=2)

show()

enter image description here

32
2/22/2013 7:38:39 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon