pylab inline from scipy.stats import chi2,norm import numpy as np df=1 rv=chi2(df) x=np.linspace(0,10) chi2pdf=rv.pdf(x) plot(x,chi2pdf),ylim([0,0.5]) v=norm.rvs(size=10000) v2=v*v h,bin_edges=np.histogram(v2,bins=100,density=True) bin_center=(bin_edges[1:]+bin_edges[:-1])/2. bar(bin_center,h,width=0.2);plot(x,chi2pdf,'r-');xlim([0,10]);ylim([0,0.5]) df=2 rv=chi2(df) x=np.linspace(0,10) chi2pdf=rv.pdf(x) plot(x,chi2pdf),ylim([0,0.5]) v1=norm.rvs(size=10000);v2=norm.rvs(size=10000) v=v1+v2*1j vabs=np.abs(v)**2 h,bin_edges=np.histogram(vabs,bins=100,density=True) bin_center=(bin_edges[1:]+bin_edges[:-1])/2. bar(bin_center,h,width=0.2);plot(x,chi2pdf,'r-');xlim([0,10]);ylim([0,0.5])