octave-maintainers
[Top][All Lists]
Advanced

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

Re: AspectRatio Patches [changeset]


From: Ben Abbott
Subject: Re: AspectRatio Patches [changeset]
Date: Tue, 02 Nov 2010 03:14:16 -0400

On Nov 1, 2010, at 11:06 PM, Ben Abbott wrote:

> On Nov 1, 2010, at 5:54 PM, logari81 wrote:
> 
>> On Mon, 2010-11-01 at 05:53 -0400, Ben Abbott wrote:
>>> On Nov 1, 2010, at 3:54 AM, Konstantinos Poulios wrote:
>>> 
>>>> On Mon, Nov 1, 2010 at 4:26 AM, Ben Abbott <address@hidden> wrote:
>>>>> 
>> ...
>>>>> 
>>>>> I was unable to apply your patch.
>>>>> 
>>>>> $ patch -p1 < /Users/bpabbott/Desktop/octave_aspectratios_2.patch
>>>>> patching file src/graphics.cc
>>>>> Hunk #2 FAILED at 3911.
>>>>> Hunk #3 FAILED at 3927.
>>>>> Hunk #4 FAILED at 4575.
>>>>> 3 out of 4 hunks FAILED -- saving rejects to file src/graphics.cc.rej
>>>>> 
>>>>> Can you generate a mercurial changeset against the current sources?
>>>>> 
>>>>> Ben
>>>> 
>>>> Ups, sorry for the inconvenience. This was of course the wrong file. I
>>>> send you the right one in the present mail.
>>>> 
>>>> Kostas
>>>> <aspectratios2.changeset>
>>> 
>>> With this changeset, I'm not getting the correct result for "axis equal". 
>>> See the LL plot for ...
>>> 
>>>     demo ("axis", 1)
>>> 
>>> Also, the 5th demo gives me an error.
>>> 
>>>     demo ("axis", 1)
>>> 
>>> axis example 5:
>>> clf
>>> axis image
>>> x=0:0.1:10;
>>> plot(x,sin(x))
>>> axis image
>>> title("image")
>>> 
>>> error: __actual_axis_position__: quotient: nonconformant arguments (op1 is 
>>> 1x2, op2 is 1x3)
>>> error: called from:
>>> error:   
>>> /Users/bpabbott/Development/mercurial/local_clone/scripts/plot/private/__actual_axis_position__.m
>>>  at line 65, column 33
>>> error:   
>>> /Users/bpabbott/Development/mercurial/local_clone/scripts/plot/__go_draw_axes__.m
>>>  at line 71, column 9
>>> error:   
>>> /Users/bpabbott/Development/mercurial/local_clone/scripts/plot/__go_draw_figure__.m
>>>  at line 86, column 17
>>> error:   
>>> /Users/bpabbott/Development/mercurial/local_clone/scripts/plot/gnuplot_drawnow.m
>>>  at line 90, column 5
>>> error: input: reading user-input failed!
>>> error:   
>>> /Users/bpabbott/Development/mercurial/local_clone/scripts/testfun/demo.m at 
>>> line 110, column 7
>>> 
>>> Ben
>>> 
>>> p.s. we dropped off the list, so I've reattached you changeset, in case 
>>> others want to take a look.
>>> 
>> 
>> Hi Ben.
>> 
>> Concerning the error in __actual_axis_position__ it seems that an older
>> bug has been triggered through my changes. Anyway the part of the code
>> where the error occurs seems to be redundant as it tries to recalculate
>> the plotboxaspectratio that we have already calculated in graphics.cc .
>> So I believe this calculation should be better removed instead of been
>> fixed. The changeset in the file "aspectratios3.changeset" removes this
>> redundant code.
>> 
>> After this, the changeset "aspectratios4.changeset" which is an updated
>> version of "aspectratios2.changeset" can be applied as well.
>> 
>> On my system with this two changesets (3 and 4) applied all axis demos
>> worked well with the gnuplot backend.
>> 
>> For demo("axis",1) I couldn't notice any unexpected behavior. Could you
>> test these two patches and attach some screenshot if you find any error?
>> 
>> Thank you in advance
>> 
>> Kostas
>> <aspectratios3.changeset><aspectratios4.changeset>
> 
> Both demo 1 and 5 still have problems with axis("equal"). This command should 
> produce an equal number of pixels per data unit for the x/y/z axes.
> 
> I've attached pdfs illustrating what I see for Matlab and for Octave (the 
> gnuplot backend). Using the FLTK backend, I get the correct result for the 
> first demo, but the 5th one gives a blank figure window.
> 
> Ben
> 
> <demo1-matlab.pdf><demo1-patched_octave.pdf><demo5-matlab.pdf><demo5-patched_octave.pdf>

More info from Matlab ...

>> t=0:0.01:2*pi; x=sin(t);
>> plot(t,x)
>> axis equal
>> get (gca, 'plotboxAspectRatio')

ans =

          434        342.3        342.3

>> get (gca, 'plotboxAspectRatiomode')

ans =

manual

>> get (gca, 'dataAspectRatio')

ans =

     1     1     1

>> get (gca, 'dataAspectRatiomode')

ans =

manual

>> get (gca, 'xlim')

ans =

            0         6.28

>> get (gca, 'xlimmode')

ans =

auto

>> get (gca, 'ylim')

ans =

      -2.4765       2.4765

>> get (gca, 'ylimmode')

ans =

auto

This makes my head spin. I hope you're able to see what needs to be done.

Ben



reply via email to

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