improving axes property behavior for the gnuplot backend

David Bateman dbateman at dbateman.org
Sat Nov 15 03:43:58 CST 2008


Ben Abbott wrote:
> As implemented today, the gnuplot backend does not properly respect the 
> "outerposition", "position" and "activepositionproperty" properties for 
> the axes. For the gnuplot backend to do so a rather signficant change to 
> __go_draw_axes__.m is needed.
> 
> I'm thinking about taking that on. Before begining I wanted solicit 
> comments/concernts/objections.
> 
> In order to ensure that the "position" and "outerpostion" are rendered 
> properly and are consistent across different terminals, I suspect it 
> will also be necessary to replace the gnuplot x/y/zlabel commands with
> 
> set label {<tag>} {"<label text>"}
>     {at {<system>} <x>, {<system>} <y> {,{<system>} <z>}}
>     {left | center | right}
>     {norotate | rotate {by <degrees>}}
>     {font "<name>{,<size>}"}
>     {noenhanced}
>     {front | back}
>     {textcolor <colorspec>}
>     {point <pointstyle> | nopoint}
>     {offset <offset>}
> 
> Again, before I begin does anyone have any comments/concerns/objections?
> 
> Ben
> 
> p.s. ticklabels might also be explicitly positioned by Octave, but that
> can wait.
> 

Yes the labels and legends pose a problem in getting this right.. 
Essentially, the intelligence on the placement of the labels need to be 
moved from gnuplot to Octave. The "set margin" commands  that were added 
  recently to __go_draw_axes__ have to be kept to allow plot alignment 
with subplot and plotyy to be respected. This essentially means that 
gnuplot backend always uses the Position axis property and its upto 
Octave to ensure that Position is updated wrt OuterPosition and the 
labeling.

Finally, subplot uses the OuterPosition to determine the position in the 
subplot grid, which seems to be matlab compatibility. However, this 
means that adding a colorbar axis requires that the outerposition is 
kept constant but the position is adjusted to respect the presence of 
the colorbar axis. So there are lots of corner cases to consider in the 
change you propose...

Cheers
David

-- 
David Bateman                                dbateman at dbateman.org
35 rue Gambetta                              +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE            +33 6 72 01 06 33 (Mob)


More information about the Octave-maintainers mailing list