Data-Driven Kelly Plot

(* Data Driven Kelly Plot *)
Off[General::spell];
Off[General::spell1];
col = 10; (* number of columns *)
b = 3; (* number of bins = number of colors *)
dlst = {};
(* paste the data between the {} in dlst = {}, comma separated numbers *)
dmax = Max[dlst];
dmin = Min[dlst];
drng = dmax - dmin;
lngth = Length[dlst];
Do[rs[i]=Rectangle[{Mod[i,col],-Floor[i/col]}, {Mod[i,col]+1,-Floor[i/col]-1}], {i,0,lngth-1}]
(* This defines the array of boxes *)
color[1]=RGBColor[1,0,0];
color[2]=RGBColor[0,1,0];
color[3]=RGBColor[0,0,1];
color[4]=RGBColor[1,1,0];
color[5]=RGBColor[1,0,1];
color[6]=RGBColor[0,1,1];
color[7]=RGBColor[.5,0,0];
color[8]=RGBColor[0,.5,0];
color[9]=RGBColor[0,0,.5];
color[10]=RGBColor[1,1,1];
(* Here are 10 assigned colors - add more if you want more than 10 bins *)
cList={};
Do[{ind = Min[b,1+Floor[b*(dlst[[i+1]] - dmin)/drng]], AppendTo[cList,{color[ind],rs[i]}]}, {i,0,lngth-1}]
Show[Graphics[cList],AspectRatio->((Floor[lngth/col]+1)/col)]