In [6]:
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
import numpy as np
import scipy as sc
In [28]:
import csv
pm_ra = [[], [], []]
pm_dec = [[], [], []]
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.append(float(line["pmra"]))
pm_dec.append(float(line["pmdec"]))
In [29]:
#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]
cov = np.cov(pm_ra, pm_dec)
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), np.mean(pm_dec)),
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, pm_dec)
plt.xlim([8, -8])
plt.ylim([-8, 8])
plt.show()
In [ ]: