getCoordinates.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. def writeCoordinates(file, x, y, z):
  2. file.write("(" + str(x) + "," + str(y) + "," + str(z) + ") ")
  3. def createTex(x, y, z, output='3d-manhattan-bar-plot.tex'):
  4. template = open('template.tpl', 'r').read()
  5. make3dhistogram(x, y, z, 0.0, 'data')
  6. data = open('data', 'r').read()
  7. file = open(output, 'wb')
  8. template = template.replace('[PLACE_PLOT_HERE]', data)
  9. template = template.replace('[XMAX]', str(len(x)-1))
  10. template = template.replace('[YMAX]', str(len(y)-1))
  11. file.write(template)
  12. def make3dhistogram(x, y, z, zmin, output):
  13. file = open(output, 'wb')
  14. i = 0
  15. for j in range(len(y)):
  16. writeCoordinates(file, x[i], y[j], zmin)
  17. writeCoordinates(file, x[i], y[j], zmin)
  18. file.write("\n\n")
  19. for i in range(len(x)-1):
  20. writeCoordinates(file, x[i], y[0], zmin)
  21. for j in range(len(y)-1):
  22. writeCoordinates(file, x[i], y[j], z[i][j])
  23. writeCoordinates(file, x[i], y[j+1], z[i][j])
  24. writeCoordinates(file, x[i], y[len(y)-1], zmin)
  25. writeCoordinates(file, x[i+1], y[0], zmin)
  26. file.write("\n\n")
  27. for j in range(len(y)-1):
  28. writeCoordinates(file, x[i+1], y[j], z[i][j])
  29. writeCoordinates(file, x[i+1], y[j+1], z[i][j])
  30. writeCoordinates(file, x[i+1], y[len(y)-1], zmin)
  31. file.write("\n\n")
  32. i = len(x)-1
  33. for j in range(len(y)):
  34. writeCoordinates(file, x[i], y[j], zmin)
  35. writeCoordinates(file, x[i], y[j], zmin)
  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)