In [69]:
%pylab inline


Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['griddata']
`%pylab --no-import-all` prevents importing * from pylab and numpy

In [78]:
import readhaloHDF5
import snapHDF5 as snap 
from scipy.interpolate import griddata
from struct import *
import h5py

In [79]:
font = {'size':17}
matplotlib.rc('font', **font)
rcParams['figure.figsize'] = 7, 7

In [80]:
def enlarge_labels(ax,nsize=25):
    ticklabels_x = ax.get_xticklabels()
    ticklabels_y = ax.get_yticklabels()

    for label_x in ticklabels_x:
        label_x.set_fontsize(nsize)
        label_x.set_family('serif')
    for label_y in ticklabels_y:
        label_y.set_fontsize(nsize)
        label_y.set_family('serif')

In [91]:
def load_histo(path, filaname):
    data = loadtxt(path+filename)
    data_range = data[:,0]
    data_histo = data[:,1]
    return data_range, data_histo/1E5

In [92]:
powers = linspace(0,7,8)

max_len = 640*2**(-powers)
min_len = max_len/2.0
lambda_values = 0.01 * (640.0/max_len)**(3.0/2.0)

lambda_name = ["lambda1", "lambda2", "lambda3"]

n_range = size(powers)
n_lambda = 3
n_points = 100
full_data = ones((n_lambda, n_range, n_points))
full_lambda_range = ones((n_lambda, n_range, n_points))

for i in arange(n_lambda):
    for j in arange(n_range):
        filename="ILL3_136_len_%.1f_%.1f_%s_histo.dat"%(min_len[j], max_len[j], lambda_name[i])
        full_lambda_range[i,j,:], full_data[i,j,:]  = load_histo("../data/histo/", filename)

In [93]:
print min_len


[ 320.   160.    80.    40.    20.    10.     5.     2.5]

In [94]:
def plot_lambdas(full_lambda_range, full_data, i_range):
    fig = figure(figsize=(9.5,6.5))
    ax = axes()
    ax.set_xlabel("$\lambda_{1,2,3}}$",fontsize=25)
    ax.set_ylabel("$\mathrm{histogram}$",fontsize=25)
    ticklabels_x = ax.get_xticklabels()
    ticklabels_y = ax.get_yticklabels()

    for label_x in ticklabels_x:
        label_x.set_fontsize(18)
        label_x.set_family('serif')
    for label_y in ticklabels_y:
        label_y.set_fontsize(18)
        label_y.set_family('serif')

    
    for j in range(n_lambda):
        plot(full_lambda_range[j, i_range ,:], full_data[j,i_range, :])
    texto = "${\mathrm{lengthscale=%.1f kpc/h}}$"%(min_len[i_range])
    ax.set_title(texto, fontsize=35)    
    if(min_len[i_range]<6.0):
        ax.set_xlim([-10.0,10.0])

In [95]:
for i in range(0, n_range):
    plot_lambdas(full_lambda_range, full_data, i)