mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
added 3d manhattan bar plot
This commit is contained in:
parent
a9a8042403
commit
6695d02301
5 changed files with 158 additions and 0 deletions
44
tikz/3d-manhattan-bar-plot/getCoordinates.py
Normal file
44
tikz/3d-manhattan-bar-plot/getCoordinates.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
def writeCoordinates(file, x, y, z):
|
||||
file.write("(" + str(x) + "," + str(y) + "," + str(z) + ") ")
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
if __name__ == "__main__":
|
||||
x = [0,1,2,3,4]
|
||||
y = [0,1,2,3,4] # <- size of y
|
||||
z = [[2,3,1,0], [0,6,0,0], [1,0,0,4], [0,0,0,0]]
|
||||
createTex(x,y,z)
|
Loading…
Add table
Add a link
Reference in a new issue