# Plots radial profile for multiple files

import os
import matplotlib
import matplotlib.pyplot as plt
import numpy
import math
from math import *

plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.rc('font', serif='Palatino')
plt.rc('font', cursive='Zapf Chancery')
plt.rc('font', monospace='Courier')

abspath = os.path.abspath(__file__)
dname = os.path.dirname(abspath)
os.chdir(dname)

files = os.listdir(dname)


for thing in files:
	if 'Synthetic' in str(thing):
		data= numpy.genfromtxt(thing, skip_header=1)

		radius  = data[:,0]
		npinbin = data[:,1]
		hisurfc = data[:,1]

		for i in range(0,len(hisurfc)):
			if hisurfc[i] > 0.0:
				hisurfc[i] = log10(0.01*hisurfc[i])
			if hisurfc[i] == 0.0:
				hisurfc[i] = numpy.nan

		plt.figure(1)
		plt.plot(radius,hisurfc, linewidth=0.5)	# Colours generated randomly and automatically
	

# Initial frame
gasfile = 'InitialGasProfile.txt'

data= numpy.genfromtxt(gasfile, skip_header=1)

radius  = data[:,0]
#npinbin = data[:,1]
hisurfc = data[:,1]

for i in range(0,len(hisurfc)):
	hisurfc[i] = log10(3.0*hisurfc[i])
	
plt.figure(1)
plt.plot(radius,hisurfc, linewidth=10.0, color='r') # Specifying colour fixes it
	

# Get data range to set axes for a square plot
xlim = max(plt.xlim())-min(plt.xlim())
ylim = max(plt.ylim())-min(plt.ylim())

# Set aspect ratio
plt.gca().set_aspect(xlim/ylim, adjustable='box')

# Set font
csfont = {'fontname':'Liberation Serif','fontsize':15}
plt.xlabel('Radius / kpc', **csfont)
plt.ylabel('log(Gas surface density) / $\mathregular{M_{\odot}}$pc $^{-2}$', **csfont)

	
plt.savefig('GasProfileEvolution.png',dpi=100,facecolor='white',bbox_inches='tight')
