Pleased that *you* were able to sort it out.
In response to an earlier question : I'm running gnuplot-4.6.

Cheers,
Rob

-----Original Message----- From: Craig DeForest
Sent: Friday, March 01, 2013 3:19 PM
To: [email protected]
Cc: Craig DeForest ; [email protected]
Subject: Re: [Perldl] Hiccup in PDL-Graphics-Gnuplot-1.4 tests

FWIW, the bug was that gnuplot is very non-orthogonal in how it treats implicit dimensions. Binary transfer has an "ARRAY" mode that autogenerates implicit dimensions; ASCII does not. Some plot styles (e.g. "lines" and "points") autogenerate implicit dimensions anyway. Others (xyerrorbars) do not, and require an explicit reference to a phantom column of data. The xyerrorbar plot was sending ASCII data and assuming the implicit dimension would work properly, as it does with the line plot of the parabola. The solution is to
trap that case and refer to the phantom column.

On Feb 28, 2013, at 7:36 PM, Craig DeForest <[email protected]> wrote:

Cool, found it. There's a bug in the ASCII comms (in an obscure case). I'll patch it momentarily and include a test. Well done.

It looks like a 1.5 might be necessary in the next couple of days -- if nothing else to trap a failing test under the (unsupported) gnuplot 4.2 for BSD.


On Feb 28, 2013, at 5:24 PM, [email protected] wrote:

Hi,

Somewhere along the way, the interactive test "error bars are OK" (currently test 96 in the 1.4 test suite) started to fail on Windows .... and I've only just now noticed. (This should be re-producible on *any* Windows build of perl, not just mine.)

The failure occurs in this piece of code:

 eval { $w->reset; $w->plot( {title => "Parabola with error bars"},
             with=>"xyerrorbars", legend=>"Parabola",
             $x**2 * 10, abs($x)/10, abs($x)*5 ); };

If I print out $@ immediately after that code has executed, I find it contains:

PDL::Graphics::Gnuplot: ERROR: the gnuplot backend issued an error:
24010 4.9 245
      ^
      invalid command
      ^
      invalid command
      ^
      invalid command
at C:/MinGW/perl516/site/lib/PDL/Graphics/Gnuplot.pm line 6767, <STDIN> line 3.


PDL::Graphics::Gnuplot::_checkpoint('PDL::Graphics::Gnuplot=HASH(0x36ac53c)', 'main', 'HASH(0x36ae30c)') called at C:/MinGW/perl516/site/lib/PDL/Graphics/Gnuplot.pm line 2832 PDL::Graphics::Gnuplot::plot(undef, undef, 'with', 'xyerrorbars', 'legend', 'Parabola', 'PDL=SCALAR(0x36aec1c)', 'PDL=SCALAR(0x36ae79c)', 'PDL=SCALAR(0x36ae1fc)', ...) called at t/plot.t line 527
     eval {...} called at t/plot.t line 527

The effect of this failure is that the graph remains unchanged - the error bars do not appear.
All previous and subsequent tests pass.

I don't know why that failure has started occurring. So long as I specified gpwin('wxt') in t/plot.t, the exact same test was working fine a fortnight ago with the P::G::G git version (when it was test 81).

I have, however, ascertained that the problem is NOT caused any of the subsequent changes to t/plot.t script itself - so it must be some recent change in Gnuplot.pm that has changed the behaviour.

Sorry, that's about all I have time for right now.

Cheers,
Rob





_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl




_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to