Photo Credit: Courtesy of 3DStockPhoto ( image)
for that you can use openSCAD. Data can be represented as a multi-array and we can iterate on it via for loop
// data structure is x,y,z where z is value arrayOfData=[[0,10,4],[0,21,9],[0,13,8],[0,41,2],[1,0,4],[2,0,180],[7,0,90]]; for(a=[0:1:6]) translate([arrayOfData[a], arrayOfData[a],0]) cylinder(arrayOfData[a],2,.5,false);
And where you get the model it can be intersected with a cube to get the desired shape.
enter image description here">