[Scilab-users] Histogram plot

Claus Futtrup cfuttrup at gmail.com
Sat Mar 18 15:47:29 CET 2017


Dear Scilab users

I've tried to use histplot, but I probably just don't understand what it 
does or what it is supposed to do. I hope you can help me do this in a 
smarter way. Here's to code which does the correct stuff - but as you 
can see, I have to "manually" count what goes into each histogram 
category - and afterwards I also have to manually "paint" the histplot. 
It's rather complicated for being such a simple task.

// sample.sce

Bl = [

7.007 7.065 7.047 6.999 6.999 7.025 6.998 7.075 7.035 ..

7.037 7.071 7.031 7.069 7.032 7.02 7.047 7.025 7.026 ];

avgbl = mean(Bl);

[nearest,i] = min(abs(Bl-avgbl)); // 'nearest'is unimportant, we need i

nearest = Bl(i); // This is our 'Master'for the BIAS study

Bl_diff = Bl - nearest;

minBl_diff = floor(100*min(Bl_diff))/100 - 0.005;

maxBl_diff = ceil(100*max(Bl_diff))/100 + 0.005;

bins = (maxBl_diff - minBl_diff)*100; // we create 9 bins

dividers = linspace(minBl_diff,maxBl_diff,bins+1); // 10 dividers

bin_vec(1) = sum(Bl_diff < dividers(2)); // start initialize bin_vec

for i=2:bins do

bin_vec(i) = sum(Bl_diff < dividers(i+1)) - sum(Bl_diff < dividers(i))

end // bin_vec contains the correct frequency count

scf();

drawlater();

// histplot(dividers,Bl_diff,style=2); // WRONG FREQUENCY COUNT

for i=1:bins do

xi = (dividers(i+1) + dividers(i))/2; // middle of bin container

xlo = xi - 0.004;

xhi = xi + 0.004;

plot([xlo xlo],[0 bin_vec(i)],'-k');

plot([xlo xhi],[bin_vec(i) bin_vec(i)],'-k');

plot([xhi xhi],[0 bin_vec(i)],'-k');

xfpoly([xlo xlo xhi xhi xlo],[0 bin_vec(i) bin_vec(i) 0 0],color("grey"));

end

xtitle("","Bias study, $Bl$ - mean($Bl$)","Count");

drawnow();

Best regards,

Claus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20170318/b4465489/attachment.htm>


More information about the users mailing list