diff --git a/triangle_creation_frequency_plots.m b/triangle_creation_frequency_plots.m new file mode 100644 index 0000000000000000000000000000000000000000..247cd547a4da1eaab8b7ef52b6289bfdd0e3106c --- /dev/null +++ b/triangle_creation_frequency_plots.m @@ -0,0 +1,54 @@ +(* ::Package:: *) + +Needs["ErrorBarPlots`"] + + +(* ::Section:: *) +(*Data import*) + + +gsraw=Import[NotebookDirectory[]<>"data/graphdata_timeevol.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: #triangles time sequence +*) +nlabels=Map["n = "<>ToString[#]&,gdata[[1,All,1,1,1]]]; +taulabels=Map["tau = "<>ToString[#]&,gdata[[All,1,1,1,2]]]; + + +(* ::Section:: *) +(*Triangle creation frequencies*) + + +(* ::Subsection:: *) +(*Plot triangle count over "time" in Markov chain instances*) + + +numPlots=20; +selectedData=gdata[[1,1]][[-numPlots;;-1]]; +measureSkip=1; +minCount=Min[Map[Min[#[[2]]]&,selectedData]]; +maxCount=Max[Map[Max[#[[2]]]&,selectedData]]; +maxTime=Max[Map[Length[#[[2]]]&,selectedData]]; +(* maxTime=30000; *) +skipPts=Max[1,Round[maxTime/500]]; (* Plotting every point is slow. Plot only once per `skipPts` timesteps *) +coarseData=Map[#[[2,1;;maxTime;;skipPts]]&,selectedData]; +labels=Map["{n,tau} = "<>ToString[#[[1]]]&,selectedData]; +ListPlot[coarseData,Joined->True,PlotRange->{0*minCount,maxCount},DataRange->{0,measureSkip*maxTime},PlotLegends->labels] +(* Map[ListPlot[#,Joined->True,PlotRange\[Rule]{minCount,maxCount},DataRange\[Rule]{0,maxTime}]&,coarseData] *) + + +differences=Map[Differences[#[[2,25000;;-1]]]&,gdata,{3}]; + + +(* Take three runs of each *) +histograms=Map[Histogram[#[[{1,6,11,16}]],{-20,20,1},"LogCount",ImageSize->300]&,differences,{2}]; + + +TableForm[histograms,TableHeadings->{taulabels,nlabels}]