diff --git a/triangle_exponent_plots.m b/triangle_exponent_plots.m index 33c4d4f69d668b1422514564df1dbd7b89a92ceb..64326401c0e5eb0e64b83e28df6ce7b64c4b5b58 100644 --- a/triangle_exponent_plots.m +++ b/triangle_exponent_plots.m @@ -26,7 +26,7 @@ gsraw=SortBy[gsraw,#[[1,1]]&]; (* Sort by n *) averagesGrouped=GatherBy[gsraw,{#[[1,2]]&,#[[1,1]]&}]; -gsraw2=Import[NotebookDirectory[]<>"data/graphdata_canonical_properties2.m"]; +gsraw2=Import[NotebookDirectory[]<>"data/graphdata_canonical_properties3.m"]; gsraw2=SortBy[gsraw2,#[[1,1]]&]; (* Sort by n *) averagesGrouped2=GatherBy[gsraw2,{#[[1,2]]&,#[[1,1]]&}]; canonicalDatapoints=Map[{#[[1,1,1]],Mean[#[[All,2]]]}&,averagesGrouped2,{2}]; @@ -34,7 +34,7 @@ canonicalDatapoints=Map[{#[[1,1,1]],Mean[#[[All,2]]]}&,averagesGrouped2,{2}]; (* averagesGrouped[[ tau index, n index, run index , {ntau, avgtri} ]] *) nlabels=Map["n = "<>ToString[#]&,averagesGrouped[[1,All,1,1,1]]]; -taulabels=Map["tau = "<>ToString[#]&,averagesGrouped[[All,1,1,1,2]]]; +taulabels=Map["\[Tau] = "<>ToString[#]&,averagesGrouped[[All,1,1,1,2]]]; mediansErrorBars=Map[ {{#[[1,1,1]],Median[#[[All,2]]]}, ErrorBar[MedianDeviation[#[[All,2]]]] @@ -70,6 +70,7 @@ mediansFitsExtra=Map[LinearModelFit[#,logn,logn]&,mediansLoglogdata]; canonicalloglogdata=Log[canonicalDatapoints[[All,nRange]]]; canonicalFitsExtra=Map[LinearModelFit[#,logn,logn]&,canonicalloglogdata]; +canonicalFitFuncs=Map[#[logn]&,canonicalFitsExtra]; canonicalNLMs=Map[NonlinearModelFit[#,factor*n^exponent,{factor,exponent},n]&,canonicalDatapoints]; @@ -79,11 +80,21 @@ averagesFitsExtra[[1]]["ParameterErrors"] averagesFitsExtra[[1]]["ParameterConfidenceIntervals"] +tauChoices={1,3,5,7,9,11}; +canonicalTaulabels=Map["\[Tau] = "<>ToString[NumberForm[#,{4,2}]]&,averagesGrouped2[[tauChoices,1,1,1,2]]]; plot1a=Show[ListLogLogPlot[averagesErrorBars[[All,All,1]],Joined->False,PlotMarkers->Automatic,AxesLabel->{"n","\[LeftAngleBracket]triangles\[RightAngleBracket]"},PlotLegends->taulabels],Plot[averagesFits,{logn,1,2000}]] plot1b=Show[ListLogLogPlot[mediansErrorBars[[All,All,1]],Joined->False,PlotMarkers->Automatic,AxesLabel->{"n","median triangles"},PlotLegends->taulabels],Plot[mediansFits,{logn,1,2000}]] +plot1c=Show[ListLogLogPlot[canonicalDatapoints[[tauChoices]], +ImageSize->250, +Joined->False,PlotMarkers->Automatic, +Frame->True, +FrameTicks->{{Table[{10^k,Superscript[10,k]},{k,0,6}],Automatic},{{1000,2000,5000,10000},Automatic}}, +FrameLabel->{"n","triangles"}, +PlotLegends->canonicalTaulabels +],Plot[Evaluate[canonicalFitFuncs[[tauChoices]]],{logn,1,20000}]] -Export[NotebookDirectory[]<>"plots/avgtris_n.pdf",plot1] +Export[NotebookDirectory[]<>"plots/avgtris_n.pdf",plot1c] (* ::Subsection:: *) @@ -114,14 +125,17 @@ canonicalExponentsErrorBars=Map[{{#[[1]],#[[2]]["BestFitParameters"][[2]]},Error Transpose[{canonicalTauValues+0.000,canonicalFitsExtra}]]; canonicalExponentsErrorBars2=Map[{{#[[1]],exponent/.#[[2]]["BestFitParameters"][[2]]},ErrorBar[#[[2]]["ParameterConfidenceIntervals"][[2]]-exponent/.#[[2]]["BestFitParameters"]]}&, Transpose[{canonicalTauValues+0.000,canonicalNLMs}]]; + +Needs["MaTeX`"] + plot2=Show[ -ErrorListPlot[{averagesExponentsErrorBars,mediansExponentsErrorBars,canonicalExponentsErrorBars}, +ErrorListPlot[{averagesExponentsErrorBars(*,mediansExponentsErrorBars*),canonicalExponentsErrorBars}, Joined->True,PlotMarkers->Automatic, -PlotLegends->Placed[{"average","median","canonical"},{Left,Bottom}], +PlotLegends->Placed[{"average"(*,"median"*),"canonical"},{Left,Bottom}], Frame->True,FrameLabel->{"tau","triangle exponent"}, PlotRange->{{2,3},{0,1.6}}, ImageSize->300], -Plot[3/2(3-tau),{tau,2,3},PlotStyle->{Black,Dashed}]] +Plot[3/2(3-tau),{tau,2,3},PlotStyle->{Black,Dashed},PlotLegends->Placed[LineLegend[{MaTeX["\\frac{3}{2}(3-\\tau)"]},LegendMarkerSize->20],{Left,Bottom}]]] Export[NotebookDirectory[]<>"plots/triangle_exponent.pdf",plot2]