Generating covariances

Model: x=x0 + δx + δxy  and y=y0 + δy ± δxy  with  δx \[Distributed]N(0,ϵx), δy \[Distributed]N(0,ϵy) and δ \[Distributed]N(0,ϵxy)

Manipulate[ Module[ {σx,σy,ρ},σx=Sqrt[ϵx^2+ϵxy^2];σy=Sqrt[ϵy^2+ϵxy^2];ρ=sign ϵxy^2/(σx σy);Show[ ListPlot[ Table[{RandomVariate[NormalDistribution[x0,ϵx]]+d,RandomVariate[NormalDistribution[y0,ϵy]]+sign d}/.d->RandomVariate[NormalDistribution[0,ϵxy]],{size}],
AxesLabel->{Style[x,18],Style[y,18]},TicksStyle->Directive[FontSize->16],
PlotRange->{{0,2x0},{0,2y0}} ,AspectRatio->Automatic],
Graphics[ Text[ Style["σx="<>ToString[ Round[ σx,0.1]],18],Scaled[{0.08,0.96}]] ],Graphics[ Text[ Style["σy="<>ToString[ Round[ σy,0.1]],18],Scaled[{0.08,0.90}]] ],Graphics[ Text[ Style["ρ="<>ToString[ Round[ ρ,0.01]],18],Scaled[{0.08,0.84}]] ]
]
 ],
{{ϵx,2},1.,3.},{{ϵy,2},1.,3.},{{ϵxy,1.5},0.1,5.},{{sign,1},{-1,1}},
Initialization:>(x0=20;y0=10;size=1000)]

Model: x=x0 + δx + δxy  and y=y0 + δy ± δxy  with  δx \[Distributed]N(0,ϵx), δy \[Distributed]N(0,ϵy) and δ \[Distributed]N(0,ϵxy) so that ϵxy gives the correlation coefficient chosen with the slider

Manipulate[Module[{σx,σy,ϵxy},ϵxy=Sqrt[ ρ^2(ϵx^2 + ϵy^2 +Sqrt[(ϵx^2-ϵy^2)^2+4(ϵx ϵy/ρ)^2])/(2-2ρ^2) ];σx=Sqrt[ϵx^2+ϵxy^2];σy=Sqrt[ϵy^2+ϵxy^2];
Show[ListPlot[ Table[{RandomVariate[NormalDistribution[xc,ϵx]]+d,RandomVariate[NormalDistribution[yc,ϵy]]+sign d}/.d->RandomVariate[NormalDistribution[0,ϵxy]],{sampleSize}],
AxesLabel->{Style[x,18],Style[y,18]},TicksStyle->Directive[FontSize->16],
PlotRange->{{0,2xc},{0,2yc}} ,AspectRatio->Automatic],
Graphics[ Text[ Style["σx="<>ToString[ Round[ σx,0.1]],18],Scaled[{0.08,0.96}]] ],Graphics[ Text[ Style["σy="<>ToString[ Round[ σy,0.1]],18],Scaled[{0.08,0.90}]] ],Graphics[ Text[ Style["ϵxy="<>ToString[ Round[ ϵxy,0.1]],18],Scaled[{0.08,0.84}]] ]
]
],
{{ϵx,2},1.,3.},{{ϵy,2},1.,3.},{{ρ,0.5},0.001,0.99},{{sign,1},{-1,1}},
Initialization:>(xc=20;yc=10;sampleSize=1000)]