In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


/home/mldantas/miniconda2/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
  warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')

In [2]:
new_probability  = np.loadtxt('./Model/fit_results_3d_grid.csv', delimiter=',', dtype=str)
results          = np.loadtxt('./Model/model_prob_3d_grid.csv', delimiter=',', dtype=str)

In [3]:
my_probability = {}
for i in range(len(new_probability[0, :])):                             # Converting numpy array into dictionary
    my_probability[new_probability[0, i]] = np.array(new_probability[0 + 1:, i], dtype=str)

In [4]:
print results.shape


(2501, 3)

In [5]:
my_results = {}
for i in range(len(results[0, :])):                             # Converting numpy array into dictionary
    my_results[results[0, i]] = np.array(results[0 + 1:, i], dtype=str)

In [6]:
parameter    = my_probability['parameter'].astype(str)
quartile_1st = my_probability['25%'].astype(float)
quartile_2st = my_probability['75%'].astype(float)
quantile_25  = my_probability['2.5%'].astype(float)
quantile_97  = my_probability['97.5%'].astype(float)
mean         = my_probability['mean'].astype(float)

In [7]:
probability = my_results['pnew'].astype(float)
redshift    = my_results['redshift'].astype(float)
sersic_gal  = my_results['sersic'].astype(float)
# sersic_sex  = my_results['SERSIC_SEXTRACTOR'].astype(float)

In [8]:
print mean.size
print probability.size
print redshift.size
print sersic_gal.size
# print sersic_sex.size


7405
2500
2500
2500

In [9]:
# print parameter[5449]

In [10]:
idx_beg = []
idx_end = []
for i in range(parameter.size):
    if (parameter[i]=='pnew[0]'):
        idx_beg = int(i)
        print idx_beg
        print 'ok'
    elif (parameter[i]=='pnew[2499]'):
        idx_end = int(i)
        print idx_end
        print 'ok'
    else:
        continue


4905
ok
7404
ok

In [11]:
new_q1 = quartile_1st[idx_beg:idx_end+1]
new_q2 = quartile_2st[idx_beg:idx_end+1]
new_25 = quantile_25[idx_beg:idx_end+1]
new_97 = quantile_97[idx_beg:idx_end+1]
new_param = parameter[idx_beg:idx_end+1]
new_mean = mean[idx_beg:idx_end+1]

In [12]:
# interp_function_01 = s.interp1d(redshift, mean)
# new_redshift = np.linspace(redshift.min(), redshift.max(), 200)
# new_probability = interp_function_01(new_redshift)
# print mean.size

In [13]:
print new_mean.size


2500

In [14]:
print redshift.size


2500

In [15]:
redshift.size-new_mean.size


Out[15]:
0

In [16]:
from mpl_toolkits.mplot3d import Axes3D

In [17]:
%matplotlib notebook

In [28]:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# plt.scatter(redshift, sersic_gal, mean, c = '#feb24c', alpha=0.7)
ax.plot_trisurf(redshift, sersic_gal, new_mean, color='#feb24c', alpha=0.7, linewidth=0, antialiased=False)
ax.set_xlabel("Redshift", fontsize=15)
ax.set_ylabel("Sersic Index", fontsize=15)
ax.set_zlabel("Probability", fontsize=15)
plt.savefig('./Figs/logit3D_grid.pdf', dpi=100)

for ii in xrange(180,360,10):
    ax.view_init(elev=10., azim=ii)
    plt.savefig("./movie_short/movie_0%d_0.png" % ii)
    
# ax.view_init(elev=10., azim=359)
# plt.savefig("./movie_0%d.png" % 359)

plt.show()



In [18]:
plt.scatter(redshift, new_mean)
plt.show()



In [19]:
plt.scatter(sersic_gal, new_mean)
plt.show()



In [ ]: