绘制多元正态分布形状

时间:2018-03-25 11:08:18

标签: python numpy matplotlib gaussian data-fitting

我有一组3D数据点,当绘制时形成多变量高斯形状,如图所示。

enter image description here

然而,我需要一个漂亮而平滑的轮廓图,理想情况下可以包含先前的高斯形状信息

我不完全确定从哪里开始,因为我的点不遵循正态分布,它们只有高斯形状,因此我不能应用高斯混合模型来确定分布。这是对的吗?

有办法吗?

理想情况下,我想得到一个类似于此的情节:

enter image description here

我绘制轮廓的代码:

import matplotlib.pyplot as plt
import numpy as np

from matplotlib import cm
from scipy.interpolate import griddata


fig = plt.figure()
ax = fig.add_subplot(212)
ax.set_title("NN-interpolated contour")

# Prep X-Y grid
xi = np.linspace(x.min(), x.max(), (len(z)))
yi = np.linspace(y.min(), y.max(), (len(z)))

# Interpolate using nearest neighbour
zi = griddata((x, y), z, (xi[None, :], yi[:, None]), method='nearest')
xig, yig = np.meshgrid(xi, yi)

# Plot
surf = ax.contourf(xig, yig, zi, cmap=cm.summer)
fig.colorbar(surf)
plt.show()

修改

这是具有三次插值的图:

enter image description here

0 个答案:

没有答案