octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: plplot octave


From: David Bateman
Subject: Re: plplot octave
Date: Mon, 24 Sep 2007 23:01:55 +0200
User-agent: Thunderbird 1.5.0.7 (X11/20060921)

Orion Poplawski wrote:
> John W. Eaton wrote:
>> On 23-Sep-2007, address@hidden wrote:
>> | Later versions also break the plplot octave interface which is
>> shipped in
>> | the current Fedora 7 release.  If anyone can offer some help to that
>> | project to get the plotting code working with the latest octave, that
>> | would be greatly appreciated.
>>
>> Filing a bug report for what breaks would be a good first step.
> 
> Well, the problem is not particularly obvious to me, having no knowledge
> of octave's plotting internals.
> 
> First issue seems to be getting into an infinite recursion loop calling
> the plplot version of "figure".  This call "hold off", which calls
> "/usr/share/octave/2.9.14/m/plot/__plt_get_axis_arg__.m", which calls
> /usr/share/octave/2.9.14/m/plot/gca.m which calls
> /usr/share/octave/2.9.14/m/plot/gcf.m which calls figure again.
> 
> Looks like it tries to save the current hold state, turn it off, then
> restore the hold state.  Not sure what this really does or if it's
> needed still.
> 
> There are other calls to hold/ishold scattered around too that lead to
> these failures as well as a failure in gca with get(gcf(), "something")
> failing.
> 
> figure does:
> 
>   global __pl __tk_name
> 
> so that's whet __pl refers to below.
> 
> Next seems to be that __pl.lab_str has changed in some way.  The
> following fails:
> 
> 
>       if (!struct_contains(__pl, "lab_str"))
>         __pl.lab_str(strm) = "";        # label string
>       endif
> 
> with:
> 
> error: A(idx) = []: index out of range
> error: assignment to structure element failed
> error: assignment failed, or no method for `struct = string'
> error: evaluating assignment expression near line 176, column 21
> 
> Also, __pl.open seems to have gone away.  plplot code seems to have
> tried to use this to keep track of various figure states.
> 
> 


I think the way to address this given the huge difference between Octave
2.9.9 and 2.9.14 graphics is just to dump the existing plplot code, and
just use it as a basis to write a new __go_draw_axes.m and drawnow.m
function. That's basically all that needs replacing to override the
gnuplot interface now. If the plplot versions of these two functions are
on the path before the gnuplot versions, then Octave will plot with
plplot..

D.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]