I agree with Tom that the first thing to try is something like:
> One user requirement is to plot a million points and pick out
> interesting part to zoom in until individual points are resolved
> on the screen. From my test the fasted way to draw a large
> number of points is plotting in (x->y) with setPointMode(true).
> Each point then is a pixel. I suppose this is not the same as drawing
> everypoing with VisADPointArray?
I think in this situation the points will be put into one big
> Anyways in this mode, each point
> is so small that the out liers are easy to overlook. So I start
> experimenting with drawing with shapes. There is precisely one
> shape at a time, though it is drawn a million times from the
> user point of view. Now it looks like there is no way to get
> around having at least an array of indices of large size created,
> and having this array referenced when each point is plotted.
You might try making a histogram of your million points using
the static visad.python.JPythonMethods.hist(Field, int, int)
method. After the user zooms in, then you could revert to plotting
the smaller number of selected points.
But I'm with Tom: try setPointSize() first.