improving axes property behavior for the gnuplot backend

Ben Abbott bpabbott at mac.com
Sat Nov 15 09:18:31 CST 2008


On Nov 15, 2008, at 4:43 AM, David Bateman wrote:

> 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...


ok, to be honest I haven't looked at the details of plotyy since your  
changeset. However, the present behavior of subplot is one reason why  
I thought this needed some attention ... some terminals look nice and  
others are way to spacious ;-)

I'll look over how "set margin" is presently used as well.

I plan to use "tightinset" in the same manner that I understand the  
competitor does. So I'll start with that and see what problems I run  
into. Determining the dimentions of tex/enhanced strings will be  
tricky (which may be why the competitor requires that ticklabels have  
interpreter='none').

If anyone has a thought on a sloppy, quick, and reasonably accurate  
method to determine the rendered length of a tex/enhanced string,  
please point me in that direction.

Ben



More information about the Octave-maintainers mailing list