Function cones is similar to bars but draw cones.
MGL code:
new ys 10 3 '0.8*sin(pi*(x+y/4+1.25))+0.2*rnd' light on:origin 0 0 0 subplot 3 2 0:title 'Cones plot':rotate 50 60:box:cones ys subplot 3 2 1:title '2 colors':rotate 50 60:box:cones ys 'cbgGyr' subplot 3 2 2:title '"\#" style':rotate 50 60:box:cones ys '#' subplot 3 2 3:title '"a" style':rotate 50 60:zrange -2 2:box:cones ys 'a' subplot 3 2 4:title '"t" style':rotate 50 60:box:cones ys 't' subplot 3 2 5:title '"4" style':rotate 50 60:box:cones ys '4'
C++ code:
void smgl_cones(mglGraph *gr)
{
mglData ys(10,3); ys.Modify("0.8*sin(pi*(2*x+y/2))+0.2*rnd");
gr->Light(true); gr->SetOrigin(0,0,0);
if(big!=3) { gr->SubPlot(3,2,0); gr->Title("Cones plot"); }
gr->Rotate(50,60); gr->Box(); gr->Cones(ys);
if(big==3) return;
gr->SubPlot(3,2,1); gr->Title("2 colors");
gr->Rotate(50,60); gr->Box(); gr->Cones(ys,"cbgGyr");
gr->SubPlot(3,2,2); gr->Title("'\\#' style");
gr->Rotate(50,60); gr->Box(); gr->Cones(ys,"#");
gr->SubPlot(3,2,3); gr->Title("'a' style");
gr->SetRange('z',-2,2); // increase range since summation can exceed [-1,1]
gr->Rotate(50,60); gr->Box(); gr->Cones(ys,"a");
gr->SubPlot(3,2,4); gr->Title("'t' style");
gr->Rotate(50,60); gr->Box(); gr->Cones(ys,"t");
gr->SubPlot(3,2,5); gr->Title("'4' style");
gr->Rotate(50,60); gr->Box(); gr->Cones(ys,"4");
}