Thank you for looking into it!
It would be perfectly fine for me to merge the two objects, so that one
surface_plot command will do it.
Maybe someone can give me a hint how to accomplish that?

I appreciate any tips.



Benjamin Root-2 wrote:
> 
> On Sat, Jul 24, 2010 at 7:18 AM, arsbbr <ars...@gmx.net> wrote:
> 
>>
>> Hi,
>> i'm trying to make a simple 3d plot of a cylinder with plot_surface.
>> There are two problems in my output:
>> 1) the shading, shading does not work on the cylindric shell and at the
>> same
>> time produces weird
>> artifacts on the top cover.
>> http://old.nabble.com/file/p29254649/cyl-shade-error.png
>>
>> 2) Sometimes, not reproducible, the inner back of the cylindric shell is
>> plotted in front of the top cover. It seems, that it depends somehow on
>> the
>> order of the plot commands, so that switching the two plot command
>> helps...
>> but not all the time.
>> http://old.nabble.com/file/p29254649/cyl-clip-error.png
>>
>> Am I doing something fundamentally wrong here?
>>
>> ##########################
>> from mpl_toolkits.mplot3d import Axes3D
>> import matplotlib.pyplot as plt
>> import numpy as np
>> from matplotlib import cm
>> fig = plt.figure()
>> ax = Axes3D(fig)
>>
>>
>> # Cylindrical shell
>> phi = np.linspace(0, 2 * np.pi, 100)
>> r = np.ones(100)
>> h = np.linspace(0, 1, 100)
>>
>>
>> x = 10 * np.outer(np.cos(phi), r)
>> y = 10 * np.outer(np.sin(phi), r)
>> z = 10 * np.outer(np.ones(np.size(r)), h)
>>
>>
>> # Top cover
>> phi_a = np.linspace(0, 2 * np.pi, 100)
>> h_2 = np.ones(100)
>> r_2 = np.linspace(0, 1, 100)
>>
>> x_2 = 10 * np.outer(np.cos(phi), r_2)
>> y_2 = 10 * np.outer(np.sin(phi), r_2)
>> z_2 = 10 * np.ones([100,100])
>>
>> ax.plot_surface(x, y, z,  rstride=9, cstride=15, linewidth=1, alpha=1)
>> ax.plot_surface(x_2, y_2, z_2,  rstride=5, cstride=20, linewidth=1,
>> alpha=1)
>>
>> ax.set_xlabel('X')
>> ax.set_ylabel('Y')
>> ax.set_zlabel('Z')
>>
>> plt.show()
>> ##########################
>>
>>
>> I'm just a beginner and installed the Enthought Python Distribution
>> 6.2-2,
>> which unfortunately
>> does not use the matplotlib version 1.0. Since I could not find the .egg
>> install file on the matplotlib site I guess I'll have to wait until they
>> update EPD.... self compiling is not a real option for me.
>>
>> Thanks any suggestions!
>>
>>
> arsbbr,
> 
> The second problem you mention is a known issue with 3D axes and it is
> largely due to issues with overlapping objects and trying to determine
> which
> one gets displayed on top of the other in a 3D -> 2D environment (oh, how
> I
> wish holographic displays were a reality!).  You will find that viewing an
> object from certain angles will cause this issue, and then slightly moving
> away from those angles will make everything right again.  Unfortunately, I
> do not anticipate this issue being solved anytime soon, although it
> probably
> should become a higher priority to me.
> 
> I think I have seen the first issue before, but I never fully explored it.
> I think I just found my mini-project for the weekend!  I will let you know
> what I find.
> 
> Ben Root
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> 

-- 
View this message in context: 
http://old.nabble.com/plot_surface-shading-and-clipping-error-tp29254649p29256632.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to