Hi, You'll have to use ax.w_yaxis.set_yscale('log'), which should work fine.
Hope this helps, Reinier On Tue, Dec 8, 2009 at 5:11 PM, Trevor Irons <trevorir...@gmail.com> wrote: > Hi: > > I'm trying to get a semilog 3D plot. I want to plot several 2D time series > lines, with the third axis being on a log scale. I am trying to set an axis > to log using ax.set_yscale('log'), but am getting errors. Is this possible? > > I keep getting numpy errors when I try: > raise MaskError, 'Cannot convert masked element to a Python int.' > numpy.ma.core.MaskError: Cannot convert masked element to a Python int. > > My attempt: > > from mpl_toolkits.mplot3d import Axes3D > import matplotlib.pyplot as plt > import numpy as np > > fig = plt.figure() > #ax = fig.gca() > ax = Axes3D(fig) > > colors = ('r', 'g', 'b', 'k') > zd = (0., 1., 2., 3.) > T2 = (0.9, .8, .7, .6) > ic = 1 > > for ic in xrange(len(colors)): > x = np.arange(0.05,1,.005) > z = np.exp(-x/T2[ic]) + np.random.normal(0, .05, len(x)) > y = np.exp(zd[ic])*np.ones(len(x)) > ax.plot(x,y,z) > > # Error if uncommented > #ax.set_yscale('log') > plt.show() > > Thanks for any insight. -- Reinier Heeres Tel: +31 6 10852639 ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users