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

Reply via email to