Hi, here is an example script which places minor ticks with 2 per major tick
(minor tick spacing is "fractional" of major tick spacing with relative
interval of 1/2):

from pylab import *
fig=figure()
ax=subplot(111)
ax.autoscale(tight=True) 
plot([1,2,4],[1,2,3])
x_ticks_maj_spacing =
float(abs(ax.xaxis.get_ticklocs()[0]-ax.xaxis.get_ticklocs()[1]))
x_ticks_min_spacing = x_ticks_maj_spacing/2
ax.xaxis.set_minor_locator(MultipleLocator(x_ticks_min_spacing))
y_ticks_maj_spacing =
float(abs(ax.yaxis.get_ticklocs()[0]-ax.yaxis.get_ticklocs()[1]))
y_ticks_min_spacing = y_ticks_maj_spacing/2
ax.yaxis.set_minor_locator(MultipleLocator(y_ticks_min_spacing))
show()

This works fine. However, if one changes the axes limits then the major
ticks get automatically adjusted to a different interval but the minor ticks
remain at the positions they were already at. To see this, either use the
zoom tools or do the following after running the above:

xlim(1,2.5)
fig.canvas.draw()

The question is, what is the best way to maintain the fractional minor tick
spacing? I suppose one could set up a way to update the set_minor_locator
and redraw the figure each time the figure axes limits are adjusted, but is
there a better way?

Best,
Chris
-- 
View this message in context: 
http://old.nabble.com/how-to-maintain-fractional-minor-tick-spacing-tp33480612p33480612.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to