From 8867f54a2218fb44e8bcbc64cecc58230aecfb4f Mon Sep 17 00:00:00 2001 From: Csaba Kiraly Date: Mon, 27 Mar 2023 23:16:05 +0200 Subject: [PATCH] plot progress per run Signed-off-by: Csaba Kiraly --- DAS/simulator.py | 12 ++++++++++++ config_example.py | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/DAS/simulator.py b/DAS/simulator.py index 734f0d3..447cf0f 100644 --- a/DAS/simulator.py +++ b/DAS/simulator.py @@ -3,6 +3,7 @@ import networkx as nx import logging, random import pandas as pd +import matplotlib from functools import partial, partialmethod from datetime import datetime from DAS.tools import * @@ -25,6 +26,7 @@ class Simulator: self.logLevel = config.logLevel self.proposerID = 0 self.glob = [] + self.execID = execID # In GossipSub the initiator might push messages without participating in the mesh. # proposerPublishOnly regulates this behavior. If set to true, the proposer is not @@ -244,6 +246,16 @@ class Simulator: progress = pd.DataFrame(progressVector) if self.config.saveProgress: self.result.addMetric("progress", progress.to_dict(orient='list')) + if self.config.plotProgress: + progress.plot.line(subplots = [[cnS, cnN, cnV], [cnT0], [cnT1, cnR1, cnD1], [cnT2, cnR2, cnD2]], + title = str(self.shape)) + if not os.path.exists("results"): + os.makedirs("results") + if not os.path.exists("results/"+self.execID): + os.makedirs("results/"+self.execID) + filePath = "results/"+self.execID+"/"+str(self.shape)+".png" + matplotlib.pyplot.savefig(filePath) + self.result.populate(self.shape, self.config, missingVector) return self.result diff --git a/config_example.py b/config_example.py index a17477f..915fbf4 100644 --- a/config_example.py +++ b/config_example.py @@ -22,6 +22,10 @@ dumpXML = 1 # save progress vectors to XML saveProgress = 1 + +# plot progress for each run to PNG +plotProgress = 1 + visualization = 1 logLevel = logging.INFO