2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-25 14:28:05 +02:00
LaTeX-examples/tikz/3d-manhattan-bar-plot/getCoordinates.py

45 lines
1.7 KiB
Python
Raw Normal View History

2013-02-07 12:19:11 +01:00
def writeCoordinates(file, x, y, z):
file.write("(" + str(x) + "," + str(y) + "," + str(z) + ") ")
def make3dhistogram(x, y, z, zmin, output):
file = open(output, 'wb')
i = 0
for j in range(len(y)):
writeCoordinates(file, x[i], y[j], zmin)
writeCoordinates(file, x[i], y[j], zmin)
file.write("\n\n")
for i in range(len(x)-1):
writeCoordinates(file, x[i], y[0], zmin)
for j in range(len(y)-1):
writeCoordinates(file, x[i], y[j], z[i][j])
writeCoordinates(file, x[i], y[j+1], z[i][j])
writeCoordinates(file, x[i], y[len(y)-1], zmin)
writeCoordinates(file, x[i+1], y[0], zmin)
file.write("\n\n")
for j in range(len(y)-1):
writeCoordinates(file, x[i+1], y[j], z[i][j])
writeCoordinates(file, x[i+1], y[j+1], z[i][j])
writeCoordinates(file, x[i+1], y[len(y)-1], zmin)
file.write("\n\n")
i = len(x)-1
for j in range(len(y)):
writeCoordinates(file, x[i], y[j], zmin)
writeCoordinates(file, x[i], y[j], zmin)
2013-02-13 20:26:49 +01:00
def createTex(x, y, z, output='3d-manhattan-bar-plot.tex'):
template = open('template.tpl', 'r').read()
make3dhistogram(x, y, z, 0.0, 'data')
data = open('data', 'r').read()
file = open(output, 'wb')
template = template.replace('[PLACE_PLOT_HERE]', data)
template = template.replace('[XMAX]', str(len(x)-1))
template = template.replace('[YMAX]', str(len(y)-1))
file.write(template)
2013-02-07 12:19:11 +01:00
if __name__ == "__main__":
2013-02-07 12:24:59 +01:00
x = [0,1,2,3,4] # Whats that good for? Can it be replaced by range(xMax+1)?
y = [0,1,2,3,4] # Whats that good for? Can it be replaced by range(yMax+1)?
2013-02-07 12:19:11 +01:00
z = [[2,3,1,0], [0,6,0,0], [1,0,0,4], [0,0,0,0]]
createTex(x,y,z)