二维分布的MCMC的等高线和/或角点图



有人能帮助Python plt.contour((吗?我正试图用4个不同的over图绘制一个等高线图,以查看我的MCMC函数的x和y值之间的关系。我为我编码的二维高斯函数运行了4次不同的时间。如果你觉得对我的数据使用corner.corner((更容易的话,我会接受任何建议。[MCMC的代码见图,尝试使用plt.contour((时出错]提前感谢。这是分发代码:

### 2d Distribution function 
## inputs (xStep, mean1,stdDeviation1, mean2,stdDeviation2, amplitude1, amplitude2)
def p(x,y, mu1=1,sgmx=1, mu2=1,sgmy=1, amp1=1):
p2d = amp1*(1/(2*np.pi*sgmx*sgmy))*np.exp(-((((x-mu1)**2)/(2*sgmx**2))+(((y-mu2)**2)/(2*sgmy**2)))) 
return p2d 

我尝试使用plt.contour((,但没有成功

plt.contour(x1, y1, pvs1)

在此处输入图像描述

在此处输入图像描述

来源https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.contour.html

最后一个参数,在他们的符号中是Z,在你的符号中pvs1必须是2D(看看你收到的错误,也看看docu中的错误(。

也许可以尝试将pvs1重塑为2D np.array,以模拟np.meshgrid的实际功能?最好也调查一下。