Files
@ ea18a7bd1a0d
Branch filter:
Location: AENC/switchchain/triangle_correlation_plots.m - annotation
ea18a7bd1a0d
2.4 KiB
application/vnd.wolfram.mathematica.package
Plot log version of exponential fit for mixing time
73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea 73c8d2811bea | (* ::Package:: *)
Needs["ErrorBarPlots`"]
(* ::Section:: *)
(*Data import*)
gsraw=Import[NotebookDirectory[]<>"data/graphdata_properties.m"];
(* gsraw=SortBy[gsraw,{#[[1,1]]&,#[[1,2]]&}]; (* Sort by n and then by tau. The {} forces a *stable* sort because otherwise Mathematica sorts also on triangle count and other things. *) *)
gdata=GatherBy[gsraw,{#[[1,2]]&,#[[1,1]]&}];
(* Data format: *)
(* gdata[[ tau index, n index, run index , datatype index ]] *)
(* datatype index:
1: {n,tau}
2: avgTriangles
3: edges
4: dstn
5: { HH A, HH L, average A, average L } where for each there is (average of) {lambda1 , lambda1 - lambda2, lambda1/lambda2}
6: switching successrate after mixing
7: initial HH triangles
*)
nlabels=Map["n = "<>ToString[#]&,gdata[[1,All,1,1,1]]];
taulabels=Map["\[Tau] = "<>ToString[#]&,gdata[[All,1,1,1,2]]];
datatypeLabels={"(n,tau)","average number of triangles","edges","DSTN","Eigenvalues","successrate","initial number of triangles"};
(* ::Section:: *)
(*Plot triangle counts vs dsp*)
(* ::Subsection:: *)
(*Plot #trianges vs some degree-sequence-property*)
allPlots=Map[Show[
ListPlot[#[[All,{2,4}]],
AxesOrigin->{0,0},
Frame->True,FrameLabel->{"average number of triangles","degree-sequence-property"},
AspectRatio->Automatic,
ImageSize->Automatic,
PlotLabel->"n = "<>ToString[#[[1,1,1]]]<>" , \[Tau] = "<>ToString[#[[1,1,2]]],
PlotStyle->Black
],Plot[x,{x,1,10000}]]
&,gdata,{2}]
plotgrid=GraphicsRow[{GraphicsColumn[allPlots[[{1,2},1]]],allPlots[[3,1]]},Spacings->0,ImageSize->600]
(* ::Section:: *)
(*DSP, Edges, #triangles, successrate*)
(* datatype index:
1: {n,tau}
2: avgTriangles
3: edges
4: dstn
5: { HH A, HH L, average A, average L } where for each there is (average of) {lambda1 , lambda1 - lambda2, lambda1/lambda2}
6: switching successrate after mixing
7: initial HH triangles
*)
correlations={4,2};
tauChoices={2,5,8};
nChoice=-1;
combiPlot=Show[
ListLogLogPlot[gdata[[tauChoices,nChoice,All,correlations]],
(*AxesOrigin->{0,0},*)
(*PlotRange\[Rule]{{0,3000},{0,3000}},*)
PlotRange->Automatic,
Frame->True,FrameLabel->datatypeLabels[[correlations]],
AspectRatio->Automatic,
ImageSize->Automatic,
PlotLabel->"n = "<>ToString[gdata[[1,nChoice]][[1,1,1]]],
PlotLegends->taulabels[[tauChoices]]
],Plot[x,{x,1,10000},PlotStyle->Black]]
Map[DensityHistogram[gdata[[#,nChoice,All,correlations]],"Log",
Frame->True,FrameLabel->datatypeLabels[[correlations]],
PlotLabel->taulabels[[#]]
]
&,tauChoices]
|