octave-maintainers
[Top][All Lists]
Advanced

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

Re: AspectRatio Patches [changeset]


From: logari81
Subject: Re: AspectRatio Patches [changeset]
Date: Wed, 03 Nov 2010 11:19:35 +0100

On Tue, 2010-11-02 at 19:13 -0400, Ben Abbott wrote:
> On Nov 2, 2010, at 1:45 PM, logari81 wrote:
> 
> > Hi Ben,
> > 
> > I cannot reproduce the problems shown in your pdfs. For me with
> > "aspectratios3.changeset" and "aspectratios4.changeset" applied the
> > demos 1 and 5 give the results shown in the attached files.
> > 
> > Demo 5 doesn't work with the fltk backend, but it didn't work before my
> > changes (11159) neither. I will try to fix this problem later but
> > actually it shouldn't be related to these patches.
> > 
> > The only difference in 223 subplot of demo1 between matlab and my
> > current patched version is ylim. But this is another old problem.
> > Actually comparing 11159 with my current version with respect to demos 1
> > and 5 there are no differences at all.
> > 
> > Could you compare a clean build of 11159 with a clean build of 11167
> > +aspectratios3.changeset+aspectratio4.changeset ? In case that you can
> > confirm that the all demos behave the same, I would propose that you
> > apply the last two patches and wait for my fixes for the rest of the
> > issues.
> > 
> > Best regards,
> > 
> > Kostas
> 
> I'm using gnuplot v 4.4.
> 
> I suspect you're using 4.2 or earlier. The code below (85-122) is responsible 
> for the difference in behavior.
> 
>   85     if (strcmp (axis_obj.activepositionproperty, "position"))
>   86       if (__gnuplot_has_feature__ 
> ("screen_coordinates_for_{lrtb}margin"))
>   87         if (nd == 2 || all (mod (axis_obj.view, 90) == 0))
>   88           x = [1, 1];
>   89         else
>   90           ## 3D plots need to be sized down to fit in the window.
>   91           x = 1.0 ./ sqrt([2, 2.5]);
>   92         endif
>   93         fprintf (plot_stream, "set tmargin screen %.15g;\n",
>   94                  pos(2)+pos(4)/2+x(2)*pos(4)/2);
>   95         fprintf (plot_stream, "set bmargin screen %.15g;\n",
>   96                  pos(2)+pos(4)/2-x(2)*pos(4)/2);
>   97         fprintf (plot_stream, "set lmargin screen %.15g;\n",
>   98                  pos(1)+pos(3)/2-x(1)*pos(3)/2);
>   99         fprintf (plot_stream, "set rmargin screen %.15g;\n",
>  100                  pos(1)+pos(3)/2+x(1)*pos(3)/2);
>  101         sz_str = "";
>  102       else
>  103         fprintf (plot_stream, "set tmargin 0;\n");
>  104         fprintf (plot_stream, "set bmargin 0;\n");
>  105         fprintf (plot_stream, "set lmargin 0;\n");
>  106         fprintf (plot_stream, "set rmargin 0;\n");
>  107 
>  108         if (nd == 3 && all (axis_obj.view == [0, 90]))
>  109           ## FIXME -- Kludge to allow colorbar to be added to a pcolor() 
> plot
>  110           pos(3:4) = pos(3:4) * 1.4;
>  111           pos(1:2) = pos(1:2) - pos(3:4) * 0.125;
>  112         endif
>  113 
>  114         fprintf (plot_stream, "set origin %.15g, %.15g;\n", pos(1), 
> pos(2));
>  115 
>  116         if (strcmpi (axis_obj.dataaspectratiomode, "manual"))
>  117           sz_str = sprintf ("set size ratio %.15g", -dr);
>  118         else
>  119           sz_str = "set size noratio";
>  120         endif
>  121         sz_str = sprintf ("%s %.15g, %.15g;\n", sz_str, pos(3), pos(4));
>  122       endif
>  123     else ## activepositionproperty == outerposition
>  124       fprintf (plot_stream, "set origin %g, %g;\n", pos(1:2))
>  125       sz_str = "";
>  126       if (strcmpi (axis_obj.dataaspectratiomode, "manual"))
>  127         sz_str = sprintf ("ratio %g", -dr);
>  128       else
>  129         sz_str = "noratio";
>  130       endif
>  131       sz_str = sprintf ("set size %s %g, %g;\n", sz_str, pos(3:4));
>  132     endif
> 
> Ben
> 

This was very useful information, indeed I used gnuplot 4.2. I have
attached two updated version of my last changesets which now should work
with gnuplot 4.4 as well.

BR

Kostas

Attachment: aspectratios3a.changeset
Description: Text document

Attachment: aspectratios4a.changeset
Description: Text document


reply via email to

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