Le 10/07/2015 09:41 AM, Yann DEBRAY a écrit :
Hello Raphael,

Nice plot, but sadly it doesn't rescale.
Do you have an idea how to make it fit the axes, to rescale automatically?

You can calculate your data_bounds and set them after plotting.
Alernatively, use my method that does not rely on xfpoly, but on plot that rescales automatically:

//I want to staircase plot N(Decay_times)
    N=[N2,N2-cumsum(ones(Decay_times))+1];
    Np1=[N2-cumsum(ones(Decay_times))+1,0];
    Ns=matrix([N;Np1],2*prod(size(N)));
    Decay_times=[0,Decay_times];

    D_t=matrix([Decay_times;Decay_times],2*prod(size(Decay_times)));
//in the end, I plot Ns(D_t)
    Ns=[0;Ns];
    D_t=[0;D_t];
//plot it
    plot(D_t,Ns, 'k-');
//fill the bacground
    e=gce();
    e.children.polyline_style=1;
    e.children.closed='off';
    e.children.background=color('gray');


Yann

Le 07/10/2015 00:17, Rafael Guera a écrit :
Hello Antoine,
An attempt below, not particularly clean but I hope not too dirty either: //INPUT
t = [ 0  2  5 10 12 17 20 30 35 45 60]'*0.1;
N = [20 18 15 14 12  9  6  4  3  2  1]';
t2=[];N2=[];
ns= length(t);
t2(1:2:2*ns) = t;
t2(2:2:2*ns) = [t(2:$)-%eps; t($)];
N2(1:2:2*ns-1) = N;
N2(2:2:2*ns) = N;
clf;
xfpoly([t2(1)-%eps;t2;t2($)+%eps],[0;N2;0]);
h = gce();
h.line_mode = "off";
h.background = color('gray');
plot(t2,N2,'black', t2,21*exp(-t2/2),'red');
Regards, Rafael -----Original Message-----
From: users [mailto:users-boun...@lists.scilab.org] On Behalf Of Antoine 
Monmayrant
Sent: Tuesday, October 06, 2015 10:57 AM
To: Users mailing list for Scilab<users@lists.scilab.org>
Subject: Re: [Scilab-users] How to produce a filled staircase plot
Thank you Serge for this solution, but it does not work for me: the "bars" in my case are not regular.
I am simulating an exponential random decay: starting from a number N0, my 
population decreases by jumps of N0->N0-1 that occur at random times, following 
an exponential law (see the attached plot).
For the moment, I just build my polygon by hand, but it adds quite a lot of 
"noise" on top of the code that I intent to show to my students.
I was hoping for a cleaner solution.
Thanks anyway, Cheers, Antoine Le Mardi 6 Octobre 2015 11:42 CEST, Serge Steer <<mailto:serge.st...@inria.fr> serge.st...@inria.fr> a écrit:
Le 06/10/2015 00:01, Antoine Monmayrant a écrit :
Hi everyone,

I'm trying to do a filled staircase plot (ie a staircase where the area between 
the staircase and the x axis is filled with a solid color).
Is there a given combination of polyline_style and fill_mode, etc ... that can 
do this?
Or should I resort to building a polygon by hand?

Thanks in advance,

Antoine

_______________________________________________
users mailing list
  <mailto:users@lists.scilab.org>  users@lists.scilab.org
  <http://lists.scilab.org/mailman/listinfo/users>  
http://lists.scilab.org/mailman/listinfo/users

May be the bar mode can help you
x=linspace(0,%pi,10);y=sin(x);
clf;plot(x,y);e=gce();e=e.children;
e.polyline_style=6;e.bar_width=0.5;
e.background=2;
e.line_mode="off";
_______________________________________________
users mailing list
  <mailto:users@lists.scilab.org>  users@lists.scilab.org
  <http://lists.scilab.org/mailman/listinfo/users>  
http://lists.scilab.org/mailman/listinfo/users



_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users



_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Antoine Monmayrant LAAS - CNRS
 7 avenue du Colonel Roche
 BP 54200
 31031 TOULOUSE Cedex 4
 FRANCE

 Tel:+33 5 61 33 64 59
email : antoine.monmayr...@laas.fr
 permanent email : antoine.monmayr...@polytechnique.org

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users

Reply via email to