[vtkusers] 3D scatter plot
G P
telos888 at yahoo.com
Wed Apr 6 22:45:02 EDT 2005
Ok part of the problem is the data set I am using is a
combination of numbers that in some instances are type
Long:
ValueError: expected int|float|non-empty sequence but
got <type 'long'>
The project I am working on is a phase space analysis
tool, I need to take a list of pseudo random numbers
and plot them in a cube (delayed coordinates).
I am taking the delta from each group of four numbers,
then using that to create the x, y, z coordinates to
be plotted:
----------
file = open(sys.argv[1], 'r')
data = file.readlines()
file.close()
pos=0
x=[0]*int(len(data)/4)
y=[0]*int(len(data)/4)
z=[0]*int(len(data)/4)
counter=0
while pos < (len(data))-(len(data)%4):
seq0=int(data[pos])
pos+=1
seq1=int(data[pos])
pos+=1
seq2=int(data[pos])
pos+=1
seq3=int(data[pos])
pos+=1
x[counter]=seq0-seq1
y[counter]=seq1-seq2
z[counter]=seq2-seq3
counter+=1
----------
Here is an example of the data:
----------
4228201034
531187275
3584983232
2527365236
509780418
3321656294
2030555700
4218617818
1642741340
239947192
860006036
1218776231
----------
Which results in the following x, y, z coordinates:
----------
3697013759 -3053795957 1057617996
-2811875876 1291100594 -2188062118
1402794148 -620058844 -358770195
----------
Some of these are type Long, any ideas on a better way
to calculate the delta between each group of 4 numbers
and then plot that with a 3D scatter plot?
Thanks in advance
Greg
--- G P <telos888 at yahoo.com> wrote:
> Greetings,
>
> I am trying to plot a data set of about 200,000 x,
> y,
> z points with MayaVi and VTK, the Python program I
> put
> together works fine for small groups of numbers, but
> anything over say 10,000 I get the following message
> when I try to render the array with VTK:
>
> ----------
> Scalars.__init__._get_name.warning:
> Using name='Scalars0'
> Scalars.__init__._get_lookup_table.warning:
> Using lookup_table='default'
> Traceback (most recent call last):
> File "./testpoints.py", line 35, in ?
> vt.tofile('xyz.vtk')
> File
>
"/usr/lib/python2.3/site-packages/pyvtk/__init__.py",
> line 195, in tofile
> f.write(self.to_string(format))
> File
>
"/usr/lib/python2.3/site-packages/pyvtk/__init__.py",
> line 169, in to_string
> ret = ['# vtk DataFile Version 2.0',
> File
>
"/usr/lib/python2.3/site-packages/pyvtk/UnstructuredGrid.py",
> line 87, in to_string
> t = self.get_datatype(self.points)
> File
> "/usr/lib/python2.3/site-packages/pyvtk/common.py",
> line 125, in get_datatype
> r = self.get_datatype(o)
> File
> "/usr/lib/python2.3/site-packages/pyvtk/common.py",
> line 125, in get_datatype
> r = self.get_datatype(o)
> File
> "/usr/lib/python2.3/site-packages/pyvtk/common.py",
> line 120, in get_datatype
> raise ValueError,'expected int|float|non-empty
> sequence but got %s'%t
> ValueError: expected int|float|non-empty sequence
> but
> got <type 'long'>
> ----------
>
> Here is an example set of coordinates that are in x,
> y, and z:
>
> ----------
> -41374 -53971 -44975
> -59587 -56972 -41923
> -57626 -57237 -45579
> -34283 -35894 -37457
> -33144 -57130 -52502
> -64898 -56998 -44598
> -71716 -62588 -59465
> -55663 -65333 -50883
> -37412 -65414 -33598
> -51713 -40285 -53948
> -33686 -54479 -59341
> -63665 -36130 -64861
> -59285 -36807 -45051
> -40494 -38004 -47581
> -61516 -48195 -48235
> -38270 -57041 -46794
> -47016 -33707 -61578
> -50955 -45559 -64038
> ----------
>
> And here is the transpose function from Numeric that
> puts everything into an array called 'nodes':
>
> ----------
> nodes = transpose([x]+[y]+[z])
> vt = VtkData(UnstructuredGrid(nodes,
> vertex=range(len(x))), PointData(Scalars(z)), 'Point
> Cloud')
> vt.tofile('xyz.vtk')
> ----------
>
> Any ideas? Where am I screwing up here?
>
> Thanks in advance
>
> Greg
>
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list