📚 The CoCalc Library - books, templates and other resources
License: OTHER
def writeCoordinates(file, x, y, z):1file.write("(" + str(x) + "," + str(y) + "," + str(z) + ") ")23def make3dhistogram(x, y, z, zmin, output):4file = open(output, 'wb')5i = 06for j in range(len(y)):7writeCoordinates(file, x[i], y[j], zmin)8writeCoordinates(file, x[i], y[j], zmin)9file.write("\n\n")10for i in range(len(x)-1):11writeCoordinates(file, x[i], y[0], zmin)12for j in range(len(y)-1):13writeCoordinates(file, x[i], y[j], z[i][j])14writeCoordinates(file, x[i], y[j+1], z[i][j])15writeCoordinates(file, x[i], y[len(y)-1], zmin)16writeCoordinates(file, x[i+1], y[0], zmin)17file.write("\n\n")18for j in range(len(y)-1):19writeCoordinates(file, x[i+1], y[j], z[i][j])20writeCoordinates(file, x[i+1], y[j+1], z[i][j])21writeCoordinates(file, x[i+1], y[len(y)-1], zmin)22file.write("\n\n")2324i = len(x)-125for j in range(len(y)):26writeCoordinates(file, x[i], y[j], zmin)27writeCoordinates(file, x[i], y[j], zmin)2829def createTex(x, y, z, output='3d-manhattan-bar-plot.tex'):30template = open('template.tpl', 'r').read()31make3dhistogram(x, y, z, 0.0, 'data')32data = open('data', 'r').read()33file = open(output, 'wb')34template = template.replace('[PLACE_PLOT_HERE]', data)35template = template.replace('[XMAX]', str(len(x)-1))36template = template.replace('[YMAX]', str(len(y)-1))37file.write(template)3839if __name__ == "__main__":40x = [0,1,2,3,4] # Whats that good for? Can it be replaced by range(xMax+1)?41y = [0,1,2,3,4] # Whats that good for? Can it be replaced by range(yMax+1)?42z = [[2,3,1,0], [0,6,0,0], [1,0,0,4], [0,0,0,0]]43createTex(x,y,z)444546