On Thu, Mar 31, 2011 at 11:39 AM, Benjamin Root <ben.r...@ou.edu> wrote:
>
>
> On Sat, Mar 26, 2011 at 10:16 AM, Virgil Stokes <v...@it.uu.se> wrote:
>
>> I found that
>>
>> def set_sort_zpos(self,val):
>> '''Set the position to use for z-sorting.'''
>> self._sort_zpos = val
>>
>> was missing from
>>
>> class Line3DCollection(LineCollection) (in matplotlib 1.0.1):
>>
>> Now, with the above method added, add_collection3d works as it should
>> with line
>> segments, and the following will work as expected :-)
>>
>> '''
>> Purpose: Waterfall plot using LineCollection
>> Author: V.P.S. (2011-03-26)
>> '''
>> from mpl_toolkits.mplot3d import Axes3D
>> from matplotlib.collections import LineCollection
>> from matplotlib.colors import colorConverter
>> import matplotlib.pyplot as plt
>> import numpy as np
>>
>> np.random.seed(40040157) # Used to allow repeatable experiments (plots)
>>
>> fig = plt.figure()
>> ax = fig.gca(projection='3d')
>>
>> cc = [colorConverter.to_rgba(c,alpha=0.6) for c in
>> ('r','g','b','c','y','m','k')]
>> ncc = len(cc)
>>
>> nxs = 5 # Num of points to connect (nxs-1 line segments)
>> # Generate X values
>> xs = np.arange(1, nxs+1, 1)
>>
>> # Create array of Y values (to be updated)
>> ys = np.zeros(nxs)
>>
>> # Create list of Z values
>> nzs = 4 # Num of Z-planes
>> zs = [zs+1 for zs in range(nzs)]
>>
>> # Create list of colors (cyclic) for lines
>> colorlist = [cc[j%ncc] for j in range(nzs)]
>>
>> segs = []
>> # Generate line segments in each Z-plane
>> for j in zs:
>> ys = np.random.rand(nxs)
>> segs.append(zip(xs, ys))
>>
>> curves = LineCollection(segs, colors = colorlist)
>>
>> ax.add_collection3d(curves, zs=zs, zdir='y')
>>
>> ax.set_xlabel('X') # points to right -- X
>> ax.set_xlim3d(0, nxs+1)
>> ax.set_ylabel('Y') # points into screen -- Y
>> ax.set_ylim3d(0, nzs+1)
>> ax.set_zlabel('Z') # points up -- Z
>> ax.set_zlim3d(0, 1)
>>
>> plt.show()
>>
>> Have a Good Day
>> --V
>>
>>
> Virgil,
>
> Thanks for noticing this. There are several missing methods in the various
> 3D collections and artists, and I am sure we haven't found them all yet. I
> am currently too busy to investigate why this particular one was missing,
> but in about a month I will have some time to do so.
>
> Ben Root
>
>
Virgil,
I have verified your observations, and the patch was added to the master
branch. I tried to attribute the patch to you, but I don't think I did it
correctly.
Thanks,
Ben Root
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel