bugGNU Octave - Bugs: bug #44410, "axes (hax)" should...

 
 

bug #44410: "axes (hax)" should reorder axes/colorbars/legends among uipanel children

Submitter:  Pantxo Diribarne <pantxo>
Submitted:  Tue 03 Mar 2015 07:56:44 AM UTC
   
 
Category:  Plotting Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 03 Jan 2018 06:59:32 PM UTC, comment #3: 

I had to go backwards in order to go forwards.  There were a lot of problems with the existing implementation of colorbars and legends that I fixed before moving to this bug.  I finally pushed a changeset for axes() here (http://hg.savannah.gnu.org/hgweb/octave/rev/941ea3da921f) which passes the sample code in comment #0, as well as a complicated BIST test I wrote with multiple colorbars, legends, axes, and an annotation layer.

Marking as fixed and closing report.

Rik <rik5>
Group administrator
Fri 22 Dec 2017 05:55:25 PM UTC, comment #2: 

Could the test code in the original submission be tested on Matlab?  It is not clear from their documentation (http://www.mathworks.com/help/matlab/ref/axes.html) that axes (hax) can be used in this manner.  It seems that re-stacking might only occur if the parent is a figure object.  Maybe there just needs to be a check on the parent to decide whether to call restack_axes() in axes.m.  Alternatively, if it does restack the axes in whatever the parent object is (figure, uipanel) then we need to re-code axes.m because it assumes that the parent is always a figure.

Rik <rik5>
Group administrator
Fri 23 Dec 2016 08:31:59 PM UTC, comment #1: 

This issue is probably still present in Octave 4.2.0.

The code sample from comment #0 now gives me an error message on the line "axes (hax);".

Hartmut <hardy>
Tue 03 Mar 2015 07:56:44 AM UTC, original submission:  

See tests on the maintainers list [1]. If an axes hax is children of a uipanel, "axes (hax)" should act on the uipanel children list as it would on the figure children list if hax was a figure children; i.e. place hax on top of the children list.
If hax has an associated colorbar (or legend, to be verified), the latter is also restacked so that it remains visible over hax. I would expect the following to be true:


clf;
hu = uipanel ("position", [0 0 1 1]);
hax = axes ("parent", hu);
hc = colorbar ("east");
hax2 = axes ("parent", hu);
axes (hax);
ch = get (hu, "children");
ch(:) == [hc; hax; hax2]


[1] http://octave.1599824.n4.nabble.com/Query-for-project-on-improving-matrix-functions-td4668916.html

Pantxo Diribarne <pantxo>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by hardy (Posted a comment)
  • -email is unavailable- added by pantxo (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-01-03 rik5 StatusNeed Info Fixed
        Open/ClosedOpen Closed
    2017-12-22 rik5 StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code