|
From: Ethan A M. <merritt@u.washington.edu> - 2009-02-19 04:17:56
|
On Wednesday 18 February 2009, Daniel J Sebald wrote: > James R. Van Zandt wrote: > > > Daniel J Sebald <dan...@ie...> wrote: > > > >>That explains it. The double line break means to start another 3D > >>curve. (A single break means to start another trace of the 3D curve.) > >>So Jim's example is attempting a 3D plot with single dimensioned data. > > > > > > I don't follow what you mean by "single dimensioned data". Each point > > has an X, Y, and Z value. With "set style data lines", the points are > > connected along only one dimension, which is fine with me. Actually I > > was using the default style, so I got only the points. > > > > > >>Either a check should be put in plot3d.c, or a datafile [like this] > >>should be disallowed... > > > > > > I see no reason to disallow it. It used to work. And it still works > > unless you plot data after a function. (Succeeds by accident?) > > Good chance, would be my guess. Someone disallowed the number of samples in a dimension to be 1. > > > > The docs say > > > > "If all datablocks contain the same number of points, gnuplot will > > draw cross-isolines between datablocks, connecting corresponding > > points." > > > > Apparently gnuplot should check that there is more than one datablock > > before attempting to draw cross-isolines. > > Yes. > > Philosophically, I'm not opposed to having a single line of data appear in a 3D plot. It's probably the case that 3D plotting functions expect (i.e., assume, or, were never tested) there to be some type of grid. > You're over-thinking this. There is nothing to stop you from plotting a series of points in 3D that have nothing to do with a surface. The problem data file happens to contain 4 sets of such points. If you split it into four separate files, it works as expected splot 'line1', 'line2', 'line3', 'line4', x+y What has gone wrong (I eventually realized) is that the code added for iteration assumes that if you generated multiple curves from the same input file it is _because of iteration_, whereas in this case it is simply because the input file contains more than one curve. I will fix that. -- Ethan A Merritt |