getCoordinates.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. def writeCoordinates(file, x, y, z):
  2. file.write("(" + str(x) + "," + str(y) + "," + str(z) + ") ")
  3. def make3dhistogram(x, y, z, zmin, output):
  4. file = open(output, 'wb')
  5. i = 0
  6. for j in range(len(y)):
  7. writeCoordinates(file, x[i], y[j], zmin)
  8. writeCoordinates(file, x[i], y[j], zmin)
  9. file.write("\n\n")
  10. for i in range(len(x)-1):
  11. writeCoordinates(file, x[i], y[0], zmin)
  12. for j in range(len(y)-1):
  13. writeCoordinates(file, x[i], y[j], z[i][j])
  14. writeCoordinates(file, x[i], y[j+1], z[i][j])
  15. writeCoordinates(file, x[i], y[len(y)-1], zmin)
  16. writeCoordinates(file, x[i+1], y[0], zmin)
  17. file.write("\n\n")
  18. for j in range(len(y)-1):
  19. writeCoordinates(file, x[i+1], y[j], z[i][j])
  20. writeCoordinates(file, x[i+1], y[j+1], z[i][j])
  21. writeCoordinates(file, x[i+1], y[len(y)-1], zmin)
  22. file.write("\n\n")
  23. i = len(x)-1
  24. for j in range(len(y)):
  25. writeCoordinates(file, x[i], y[j], zmin)
  26. writeCoordinates(file, x[i], y[j], zmin)
  27. def createTex(x, y, z, output='3d-manhattan-bar-plot.tex'):
  28. template = open('template.tpl', 'r').read()
  29. make3dhistogram(x, y, z, 0.0, 'data')
  30. data = open('data', 'r').read()
  31. file = open(output, 'wb')
  32. template = template.replace('[PLACE_PLOT_HERE]', data)
  33. template = template.replace('[XMAX]', str(len(x)-1))
  34. template = template.replace('[YMAX]', str(len(y)-1))
  35. file.write(template)
  36. if __name__ == "__main__":
  37. x = [0,1,2,3,4] # Whats that good for? Can it be replaced by range(xMax+1)?
  38. y = [0,1,2,3,4] # Whats that good for? Can it be replaced by range(yMax+1)?
  39. z = [[2,3,1,0], [0,6,0,0], [1,0,0,4], [0,0,0,0]]
  40. createTex(x,y,z)