Files
@ 3e647eb7b5b3
Branch filter:
Location: AENC/switchchain/triangle_correlation_plots.m - annotation
3e647eb7b5b3
2.4 KiB
application/vnd.wolfram.mathematica.package
Add improved construction rate dataset and plot
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]
|