随机数据生成
from numpy.random import multivariate_normal as NormalRandom2D
from scipy.stats import gaussian_kde
data=NormalRandom2D([0,0],[[1,0],[0,1]],200)
densityx = gaussian_kde(data[:,0])
densityy = gaussian_kde(data[:,1])
x = np.linspace(-3,3,50)
绘图
plt.figure(figsize=(10*50./127,10*50./127))
axmain=plt.subplot2grid((3,3),(1,0),rowspan=2,colspan=2); # rowspan colspan 可以让图形占多格
plt.scatter(*data.T,marker='.');
plt.subplot2grid((3,3),(0,0),colspan=2,sharex=axmain); # 与主图共用x轴
plt.plot(x,densityx(x))
plt.tick_params(axis='x',labelbottom=False) # 共用x轴就没必要显示刻度了
plt.subplot2grid((3,3),(1,2),rowspan=2,sharey=axmain);
plt.plot(densityx(x),x)
plt.tick_params(axis='y',labelleft=False)