Chi-squared contours (xfig example)
Jump to navigation
Jump to search
Chi-squared contours
require("isisscripts"); variable x = [0:2.2*PI:.01]; variable alpha,x0,y0,range,col; variable a,b; variable i; define ellipse(x,i,alpha,x0,y0,a,b){ return {x0+cos(alpha)*(a-i*1.5)*cos(x)-sin(alpha)*(b-i*1.5)*sin(x), y0+sin(alpha)*(a-i*1.5)*cos(x)+cos(alpha)*(b-i*1.5)*sin(x)}; } x0=0.;y0=0.; alpha=PI/4.; range=10.; a=4.,b=10.; col=["red","blue","green4"]; vmessage("sin(alpha)=%f, cos(alpha=%f)",sin(alpha),cos(alpha)); variable X=xfig_plot_new(15,15); X.world([-range:range],[-range:range]); variable x_par_0 = ellipse(x,0,alpha,x0,y0,a,b)[0]; variable y_par_0 = ellipse(x,0,alpha,x0,y0,a,b)[1]; variable x_par_1 = ellipse(x,1,alpha,x0,y0,a,b)[0]; variable y_par_1 = ellipse(x,1,alpha,x0,y0,a,b)[1]; variable x_par_2 = ellipse(x,2,alpha,x0,y0,a,b)[0]; variable y_par_2 = ellipse(x,2,alpha,x0,y0,a,b)[1]; X.yaxis(; major=[min(y_par_0),min(y_par_1),min(y_par_2),0,max(y_par_0),max(y_par_1),max(y_par_2)], ticlabels=[`$3\sigma$`, `$-2\sigma$`, `$-1\sigma$`, `$\hat{b}=0$`, `$+3\sigma$`, `$+2\sigma$`, `$+1\sigma$`], ticlabels2=0); X.y2axis(;off); X.x2axis(;off); X.x1axis(; major=[min(x_par_0),min(x_par_1),min(x_par_2),0,max(x_par_0),max(x_par_1),max(x_par_2)], ticlabels=[`$-3\sigma$`, `$-2\sigma$`, `$-1\sigma$`, `$\hat{a}=0$`, `$+3\sigma$`, `$+2\sigma$`, `$+1\sigma$`], ticlabels2=0); X.plot([-10,0],[0,0];line=1); X.plot([0,0],[-10,0];line=1); for (i=0;i<3;i++){ variable x_par = ellipse(x,i,alpha,x0,y0,a,b)[0]; variable y_par = ellipse(x,i,alpha,x0,y0,a,b)[1]; X.plot(x_par,y_par;color=col[i],width=3); X.plot([min(x_par),min(x_par)],[-10,y_par[where(x_par==min(x_par))]];line=1,color=col[i]); X.plot([max(x_par),max(x_par)],[-10,y_par[where(x_par==max(x_par))]];line=1,color=col[i]); X.plot([-10,x_par[where(y_par==min(y_par))]],[min(y_par),min(y_par)];line=1,color=col[i]); X.plot([-10,x_par[where(y_par==max(y_par))]],[max(y_par),max(y_par)];line=1,color=col[i]); X.plot([0,0],[0,0];sym="x"); } X.render("chisqr_ellipse.eps");