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