In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
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
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
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
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
In [14]:
print redshift.size
In [15]:
redshift.size-new_mean.size
Out[15]:
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 [ ]: