[Scilab-users] Display problem

SCHULZ Wolfgang W.Schulz at ove.at
Thu Apr 23 08:46:42 CEST 2015


Thanks to all for the help.

I have reopened a bug (4176).



Wolfgang


Von: users [mailto:users-bounces at lists.scilab.org] Im Auftrag von Rafael Guerra
Gesendet: Mittwoch, 22. April 2015 19:01
An: tim at wescottdesign.com; International users mailing list for Scilab.
Betreff: Re: [Scilab-users] Display problem

Hi Tim,

There are situations where one may want to arbitrarily zoom a plot interactively.

This leads me to a past email thread "Scaled plot displays in Scilab?" where there was a possible Java heap limitation. This has important industrial applications.

I copy below acode sample from that thread, fyi, which explodes Scilab for a plot scale= 1 / 20:

// Code adapted from Serge Steer's script:

clf;

plot(linspace(0,100,10),linspace(0,150,10))



fig= gcf();

ax= gca();

ax.tight_limits= "on";



//Dimensions of the axis in user coordinates

ax_xu= ax.data_bounds(2,1)-ax.data_bounds(1,1);

ax_yu= ax.data_bounds(2,2)-ax.data_bounds(1,2);



//pixel size in mm to be determined according to screen size and resolution (dpi)

dpi= 90; // dots per inch (depending on screen resolution)

px= 2.54e-2/dpi;//conversion from pixel to meter

//py= 2.54e-2/dpi;//conversion from pixel to meter

printf("\nSetting scale=1/500 is fine but scale=1/20 crashes Scilab 5.4.1 in Win 7\n");

scale= input("ENTER scale = ");

// scale= 1/200;  // OK

// scale= 1/20;   // Scilab aborts (Win 7) as window is larger than screen!



//Dimension of the axis in pixels

ax_xp= ax_xu/px*scale;

//ax_yp= ax_yu/py;



//Dimension of the current portion of the canvas in pixels

ax_Wp= ax_xp/(1-sum(ax.margins(1:2)));

//ax_Hp= ax_yp/(1-sum(ax.margins(3:4)));



//Canvas dimensions in pixels

fig_Wp= ax_Wp/ax.axes_bounds(3);

//fig_Hp=ax_Hp/ax.axes_bounds(4);

fig_Hp=ax_yu;



// Samuel Gougeon's tip:

fig.auto_resize = "off";



//Set fig.axes_size property to have

fig.axes_size=[fig_Wp,fig_Hp];


Regards,

Rafael

> From: tim at wescottdesign.com<mailto:tim at wescottdesign.com>
> To: users at lists.scilab.org<mailto:users at lists.scilab.org>
> Date: Wed, 22 Apr 2015 09:04:01 -0700
> Subject: Re: [Scilab-users] Display problem
>
> On Wed, 2015-04-22 at 06:07 +0000, SCHULZ Wolfgang wrote:
> > Hello,
> > I would like to display 10e6 points but it seems that Scilab (5.2.2 x64 on Win7) works only till 8e6 points.
> >
> > I tried increasing the Java Heap memory (and restarted Scilab afterwards) but there was no effect.
> >
> > Here is a test program what works till 8e6 but doesn't work for 9e6.
> >
> > stacksize('max')
> > Maximum=8e6
> > dt=1/Maximum;
> > t=0:dt:1;
> > y=sin(2*%pi*50*t);
> > plot(t,y);
> >
> > Any idea what could be wrong?
>
> While you're waiting to get the bug fixed, have you pondered the
> impossibility of displaying X values in Y spaces when X >> Y? Unless
> you've got something astonishing, your display has, at most, only a few
> thousand pixels across, so there's no way you can display 10e6 points
> anyway. The same holds for any normal page-sized sheet and printer
> (although I suppose you could manage this with a 300mm silicon blank and
> some state-of-the-art lithography).
>
> If your function is continuous, then doing
>
> plot(t(1:100:$), y(1:100:$))
>
> will give you a pretty close approximation, and still use way more
> points than your display can handle. If you're looking for glitches
> then you'll have to do something fancier (and more challenging as far as
> memory usage).
>
> --
>
> Tim Wescott
> www.wescottdesign.com<http://www.wescottdesign.com>
> Control & Communications systems, circuit & software design.
> Phone: 503.631.7815
> Cell: 503.349.8432
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org<mailto:users at lists.scilab.org>
> http://lists.scilab.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20150423/d9282f11/attachment.htm>


More information about the users mailing list