平均値と共分散パラメータの定義を使用して、データからの最尤推定値を使用してそれらを適合させることができるようですよね?
import numpy as np
data = np.loadtxt("/home/***/****/***", usecols=(2, 3))
mu = data.mean(axis=0)
sigma = np.cov(data, rowvar=0)
私の理解では、これが「フィッティング」の意味です。ただし、これらの量をプロットに表示しようとしているようです。これは少しトリッキーかもしれませんが、推定された共分散行列の固有ベクトルを見つけるために線形代数を使用し、それらを使用して共分散楕円を描画する必要があるためです。
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
# compute eigenvalues and associated eigenvectors
vals, vecs = np.linalg.eigh(sigma)
# compute "tilt" of ellipse using first eigenvector
x, y = vecs[:, 0]
theta = np.degrees(np.arctan2(y, x))
ax = plt.subplot(111)
# eigenvalues give length of ellipse along each eigenvector
w, h = 2 * np.sqrt(vals)
ax.add_artist(Ellipse(mu, w, h, theta))
# show data on top of ellipse
ax.scatter(data[:, 0], data[:, 1])
plt.show()