import matplotlib.pyplot as plt import os def plotData(conf): plt.clf() plt.grid(True) props = dict(boxstyle="round", facecolor="wheat", alpha=0.5) plt.text( 0.05, 0.05, conf["textBox"], fontsize=10, verticalalignment="bottom", transform=plt.gca().transAxes, bbox=props, ) plt.plot(conf["data1"], label=conf["labels"][0]) plt.plot(conf["data5"], label=conf["labels"][1]) plt.plot(conf["data10"], label=conf["labels"][2]) plt.title(conf["title"]) plt.ylabel(conf["ylabel"]) plt.xlabel(conf["xlabel"]) plt.xticks(fontsize=10) plt.yticks(fontsize=10) plt.legend() plt.savefig(conf["path"], bbox_inches="tight") plot_dir = "plotts/" os.makedirs(plot_dir, exist_ok=True) # 5k Nodes sizes5 = [ (39, 395, 103.05640840530396), (32, 395, 103.86710143089294), (25, 315, 104.80244779586792), (18, 115, 142.61494040489197), (10, 31, 171.9263310432434), (7, 10, 191.59916806221008), ] stepsLapses5 = [ [ 0.6611301898956299, 0.78688645362854, 1.5642898082733154, 5.431450366973877, 13.975221633911133, 14.78571629524231, 14.83137059211731, 14.895769596099854, 14.69313931465149, 13.231345176696777, 4.99576997756958, 0.702993631362915, 0.650822639465332, 0.6674363613128662, ], [ 0.663672685623169, 0.7919363975524902, 1.5719895362854004, 5.482329845428467, 14.163940191268921, 14.958719730377197, 14.957429647445679, 14.9972825050354, 14.719813108444214, 13.26242971420288, 5.092689514160156, 0.7198760509490967, 0.6541843414306641, 0.6386010646820068, ], [ 0.6593191623687744, 0.7860581874847412, 1.5643928050994873, 5.462092399597168, 14.010809421539307, 14.780933380126953, 14.842840433120728, 14.740232229232788, 14.375006914138794, 10.070922613143921, 4.714495897293091, 4.901551246643066, 2.7569775581359863, ], [ 0.6627669334411621, 0.787919282913208, 1.5623910427093506, 5.312994956970215, 20.968046188354492, 21.576714515686035, 21.61891222000122, 21.66746997833252, 21.8339524269104, 18.25313925743103, 4.994597673416138, 0.7638595104217529, 0.7524452209472656, 0.6783268451690674, ], [ 0.6688904762268066, 0.7927229404449463, 1.5365099906921387, 8.011052370071411, 24.87508773803711, 25.503795862197876, 25.52624750137329, 25.243642568588257, 22.462859630584717, 15.084798574447632, 5.83056640625, 7.130087852478027, 6.6575610637664795, 1.4069156646728516, ], [ 0.656153678894043, 0.7790679931640625, 1.944002389907837, 9.286311388015747, 28.338233470916748, 28.87402057647705, 29.03240132331848, 28.941983222961426, 28.813721656799316, 25.514888048171997, 8.469764709472656, ], ] # 10k Nodes sizes10 = [ # (50, 400, 213.62911701202393), (39, 395, 214.84202361106873), (32, 395, 213.54416799545288), (25, 315, 217.63313937187195), (18, 115, 283.82231521606445), (10, 31, 343.50494503974915), (7, 10, 394.94820404052734), ] stepsLapses10 = [ # [ # 1.3518695831298828, # 1.4894051551818848, # 2.389191150665283, # 6.95463490486145, # 24.005772352218628, # 30.02708649635315, # 30.45380449295044, # 30.695934772491455, # 30.31646728515625, # 29.054046869277954, # 17.703431129455566, # 2.720566511154175, # 2.1709277629852295, # 1.8627982139587402, # ], [ 1.3505363464355469, 1.5087687969207764, 2.369961738586426, 6.896838426589966, 23.798224210739136, 30.069722414016724, 30.176551342010498, 30.49890446662903, 30.29648232460022, 28.97600030899048, 17.854567766189575, 2.9478790760040283, 2.149484634399414, 1.9988489151000977, 1.4238512516021729, ], [ 1.3641128540039062, 1.505706548690796, 2.412487506866455, 6.97865104675293, 24.048677921295166, 29.876856565475464, 30.403212785720825, 30.607238054275513, 30.24274516105652, 28.874801635742188, 17.851038694381714, 2.970747947692871, 2.152620792388916, 1.8637866973876953, ], [ 1.3612470626831055, 1.506117820739746, 2.3963406085968018, 6.987675666809082, 24.04241633415222, 29.937008142471313, 30.254473447799683, 30.574475288391113, 30.222501516342163, 23.64164447784424, 10.550750732421875, 10.036490678787231, 10.066076755523682, 3.668154001235962, ], [ 1.348376750946045, 1.485114336013794, 2.3588476181030273, 6.822790622711182, 31.541237592697144, 42.21662974357605, 43.31953692436218, 43.17806601524353, 43.284963846206665, 40.89579677581787, 20.15466809272766, 2.0757288932800293, 1.4337825775146484, 1.3437645435333252, ], [ 1.3447542190551758, 1.4888508319854736, 2.3689799308776855, 8.266894340515137, 40.54838562011719, 50.60444140434265, 51.81586265563965, 51.774033308029175, 51.12255573272705, 40.330037355422974, 16.446475982666016, 6.193348169326782, 8.187717914581299, 8.416587591171265, 1.9950587749481201, ], [ 1.3593223094940186, 1.518049955368042, 2.4925811290740967, 10.969608068466187, 47.84677600860596, 57.691601276397705, 60.105135917663574, 59.38239240646362, 58.89372801780701, 56.152278423309326, 33.62856864929199, 2.8102831840515137, ], ] # 1k Nodes sizes1 = [ (39, 395, 19.518831253051758), (32, 395, 19.62859344482422), (25, 315, 20.106651306152344), (18, 115, 27.49130392074585), (10, 31, 33.48099613189697), (7, 10, 37.46962857246399), ] stepsLapses1 = [ [ 0.15041708946228027, 0.2558310031890869, 0.834219217300415, 2.6229143142700195, 2.849874258041382, 2.8211777210235596, 2.8509232997894287, 2.8175060749053955, 2.620945453643799, 1.1062071323394775, 0.20065641403198242, 0.1831526756286621, ], [ 0.15043163299560547, 0.2549173831939697, 0.8331425189971924, 2.64731502532959, 2.850823163986206, 2.8487398624420166, 2.8656344413757324, 2.8288016319274902, 2.630406379699707, 1.1487407684326172, 0.19384264945983887, 0.171234130859375, ], [ 0.15032672882080078, 0.2573871612548828, 0.8333590030670166, 2.5946173667907715, 2.809241771697998, 2.805994749069214, 2.911816120147705, 2.610478401184082, 2.333618402481079, 1.8721530437469482, 0.5945620536804199, 0.1285545825958252, ], [ 0.14538335800170898, 0.24220609664916992, 0.813441276550293, 3.965632200241089, 4.187340497970581, 4.174125909805298, 4.213524580001831, 4.212984561920166, 3.867766857147217, 1.1342151165008545, 0.17552900314331055, 0.1555778980255127, ], [ 0.145188570022583, 0.23859691619873047, 1.1786553859710693, 4.681736469268799, 4.848631381988525, 4.949578285217285, 4.779291391372681, 4.404498338699341, 3.221503734588623, 1.7988455295562744, 1.9808762073516846, 1.0439932346343994, ], [ 0.14494824409484863, 0.24969959259033203, 1.4229578971862793, 5.471708059310913, 5.621778964996338, 5.7769739627838135, 5.7460150718688965, 5.6701459884643555, 5.270337104797363, 1.9179344177246094, ], ] for size1, size5, size10, lapses1, lapses5, lapses10 in zip(sizes1, sizes5, sizes10, stepsLapses1, stepsLapses5, stepsLapses10): fname = f"{size1[0]}_{size1[1]}.png" conf = {} conf["textBox"] = ( f"Max Send Deque Size: {size1[0]}\nMax Received Deque Size: {size1[1]}" ) conf["title"] = "Step Duration" conf["type"] = "plot" conf["legLoc"] = 1 conf["desLoc"] = 1 conf["colors"] = ["m-"] conf["labels"] = ["Step Duration"] conf["xlabel"] = "Step" conf["ylabel"] = "Time Taken (sec)" conf["data1"] = lapses1 conf["data5"] = lapses5 conf["data10"] = lapses10 conf["path"] = plot_dir + fname conf["labels"] = [ f"Nodes: 1000 (Time Taken: {size1[2]:.2f}s)", f"Nodes: 5000 (Time Taken: {size5[2]:.2f}s)", f"Nodes: 10000 (Time Taken: {size10[2]:.2f}s)" ] plotData(conf)