<div dir="ltr"><div>Thanks for the inputs. After some efforts, I managed to create the surface by generating vertex and faces using an external program and mpl tools.<br></div><div></div><div></div>


        
        <span></span>
        
        


<p style="margin-bottom:0in;line-height:100%">ax1.plot_trisurf(x,
y, z, triangles=faces,color='w', lw=10)</p><p style="margin-bottom:0in;line-height:100%">ax1.scatter3D(x, y,
z, c= cols,s=10)</p><p style="margin-bottom:0in;line-height:100%">However, i am now trying to figure out the simple way to color the triangles using the vertex colors. 


        
        <span></span>
        
        


</p><p style="margin-bottom:0in;line-height:100%">For each vertex, I
have assigned a color (ranges from blue to red) which in my case represents a
calculated property. So basically I have a color array (cols in the
above snippet) that I passed to the scatter function. I would like to know
how I can color the triangle by interpolating to the colors of the
vertex it belongs to. The available examples in net show the usage of
colormaps. In my case, the triangles should adopt vertex colors. <br></p><p style="margin-bottom:0in;line-height:100%"></p><p style="margin-bottom:0in;line-height:100%">Any
tricks to achieve this could be of much help. I have attached a sample figure, which i believe, could better elucidate the problem.<br></p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>

<br><p></p><p style="margin-bottom:0in;line-height:100%"><br></p>

<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 28, 2018 at 3:19 PM, Benjamin Root <span dir="ltr"><<a href="mailto:ben.v.root@gmail.com" target="_blank">ben.v.root@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>mplot3d is good for real simple 3d scenes, but it falls apart when you start composing things like this. You might want to consider using something like glumpy or mayavi for better results. There are some discussions in the past on the problems inherent in creating spheres in mplot3d. There are some interesting solutions, but they get fairly complex pretty quickly.</div><div><br></div><div>Cheers!<br></div><div>Ben Root<br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, May 28, 2018 at 8:16 AM, Bala subramanian <span dir="ltr"><<a href="mailto:bala.biophysics@gmail.com" target="_blank">bala.biophysics@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><p style="margin-bottom:0in;line-height:100%">Dear mpl friends,</p>
<p style="margin-bottom:0in;line-height:100%">

</p>
<p style="margin-bottom:0in;line-height:100%">My objective is to
create a molecular surface using matplotlib. I used the snippet
pasted below to create a series of spheres (attached png), drawn
using the atom attributes (their positions and radius). From here, I
would like to create a smooth surface which can depict the shape of
the molecule surface (curves,cavities etc). Based on examples in net, I get a mixed feeling that either triangulation or
making 3D grids are some directions to proceed. If anyone has some
suggestions or better protocols for such task with some example data, it would be
of great help to me.</p>
<p style="margin-bottom:0in;line-height:100%">

</p>
<p style="margin-bottom:0in;line-height:100%">fig =
plt.figure(figsize=(6,6),dpi=1<wbr>40)</p>
<p style="margin-bottom:0in;line-height:100%">ax1 =
fig.add_subplot(111, projection='3d')</p>
<p style="margin-bottom:0in;line-height:100%">

</p>
<p style="margin-bottom:0in;line-height:100%"># Define spherical
coordinates</p>
<p style="margin-bottom:0in;line-height:100%">u, v =
np.mgrid[0:2*np.pi:20j, 0:np.pi:10j]</p>
<p style="margin-bottom:0in;line-height:100%">S =
np.cos(u)*np.sin(v)</p>
<p style="margin-bottom:0in;line-height:100%">C =
np.sin(u)*np.sin(v)</p>
<p style="margin-bottom:0in;line-height:100%">T = np.cos(v)</p>

<p style="margin-bottom:0in;line-height:100%">

</p>
<p style="margin-bottom:0in;line-height:100%">for P,R in
zip(positions,radii):</p><p style="margin-bottom:0in;line-height:100%">         ax1.plot_wireframe(R*S+P[0],R*<wbr>C+P[1],R*T+P[2],color='r',alph<wbr>a=0.4)</p>

<br clear="all">


        
        <span></span>
        
        


<p style="margin-bottom:0in;line-height:100%">Thanks in advance,</p>
<p style="margin-bottom:0in;line-height:100%">Bala</p><span class="m_-8301402580416888852gmail-HOEnZb"><font color="#888888"><br clear="all"><br>-- <br><div class="m_-8301402580416888852gmail-m_313166897354034870gmail_signature">C. Balasubramanian<br></div>
</font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
Matplotlib-users mailing list<br>
<a href="mailto:Matplotlib-users@python.org" target="_blank">Matplotlib-users@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/matplotlib-users" rel="noreferrer" target="_blank">https://mail.python.org/mailma<wbr>n/listinfo/matplotlib-users</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">C. Balasubramanian<br></div>
</div>