In [6]:
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
import numpy as np
import scipy as sc
In [35]:
import csv
pm_ra = {'duffau_group_a' : [], 'duffau_group_b' : [], 'duffau_group_h' : []}
pm_dec = {'duffau_group_a' : [], 'duffau_group_b' : [], 'duffau_group_h' : []}
with open('../Data/all_duffau_data.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for line in csv_reader:
pm_ra[line["source"]].append(float(line["pmra"]))
pm_dec[line["source"]].append(float(line["pmdec"]))
In [42]:
def makeEllipsePlot(group):
cov = np.cov(pm_ra[group], pm_dec[group])
lambda_, v = np.linalg.eig(cov)
lambda_ = np.sqrt(lambda_)
ax = plt.subplot(111, aspect='equal')
for j in range(1, 4):
ell = Ellipse(xy=(np.mean(pm_ra[group]), np.mean(pm_dec[group])),
width=lambda_[0]*j*2, height=lambda_[1]*j*2,
angle=np.rad2deg(np.arccos(v[0, 0])))
ell.set_facecolor('none')
ell.set_edgecolor('b')
ax.add_artist(ell)
plt.scatter(pm_ra[group], pm_dec[group])
plt.xlim([4, -4])
plt.ylim([-4, 4])
plt.show()
In [43]:
#pm_ra = [-0.13, 0.35, -0.62, 0.03, 0.03, 0.11]
#pm_dec = [-0.12, -0.05, -0.21, -0.31, 0.02, -0.64]
group = 'duffau_group_a'
makeEllipsePlot(group)
In [44]:
group = 'duffau_group_b'
makeEllipsePlot(group)
In [45]:
group = 'duffau_group_h'
makeEllipsePlot(group)
In [ ]: