From: Benjamin Root <ben.root@ou...>  20100727 21:29:35

On Tue, Jul 27, 2010 at 3:10 PM, <copyrights@...> wrote: > Hallo Ben Root, > > I put together some snippets > > #CODE > import matplotlib.pyplot as plt > from matplotlib.patches import Circle > import mpl_toolkits.mplot3d.art3d as art3d > from mpl_toolkits.mplot3d import Axes3D > import numpy > import matplotlib > > step = 0.04 > maxval = 1.0 > > fig = plt.figure() > ax = Axes3D(fig,aspect='equal') > > ri = 0.625 > rj = 1.25 > l = 5 > > ##CONE > r = numpy.linspace(rj,rj,6) > r[0]= numpy.zeros(r[0].shape) > r[1] *= ri/rj > r[5] *= ri/rj > r[3]= numpy.zeros(r[3].shape) > > p = numpy.linspace(0,2*numpy.pi,50) > R,P = numpy.meshgrid(r,p) > > X,Y = R*numpy.cos(P),R*numpy.sin(P) > > tmp=list() > for i in range(50): > tmp.append([0,0,l,l,l,0]) > Z = numpy.array(tmp) > ax.plot_surface(X, Z,Y, rstride=1, cstride=1, color="b") > > ##CIRCLES > p=Circle((0,0),rj,color="red") > ax.add_patch(p) > art3d.patch_2d_to_3d(p, z=l, zdir="y") > > p=Circle((0,0),ri,color="red") > ax.add_patch(p) > art3d.patch_2d_to_3d(p, z=0, zdir="y") > > ax.set_ylim3d(0.5, l+.5) > ax.set_xlim3d(l*0.50.5, l*0.5+0.5) > ax.set_zlim3d(l*0.50.5, l*0.5+0.5) > > plt.show() > #CODE > > greetz > > Frank > Am 27.07.2010 21:36, schrieb Benjamin Root: > > On Tue, Jul 27, 2010 at 2:25 PM, <copyrights@... > > <mailto:copyrights@...>> wrote: > > > > Hallo, > > > > I got a depth problem with Axes3D. I made a plot_surface and add 2 > > Circle object with add_patch and > > mpl_toolkits.mplot3d.art3d.patch_2d_to_3d. > > > > The problem is that the circles are always in front. I upload a > > picture here http://yfrog.com/nd3dproblemp . The gui is rotatable, > > so I can't just remove the second Circle (like I did for the > > screenshot). > > > > How to get right order to the object? > > > > greetz > > > > Frank > > > Thanks, At first glance, I am wondering if the problem is that the Circle objects are not properly getting a zsort value when converted to a 3d object. I will see if there is an inconsistency in behavior between different types of patches. Ben Root 