def _run_graph(self, args): graph_parameters = { 'normal latency': ('Normal Message Latency (ms)', 'left top'), 'ssd': ('Sink-Source Distance (hops)', 'left top'), 'captured': ('Capture Ratio (%)', 'left top'), 'fake': ('Fake Messages Sent', 'left top'), 'sent': ('Total Messages Sent', 'left top'), 'received ratio': ('Receive Ratio (%)', 'left bottom'), 'tfs': ('Number of TFS Created', 'left top'), 'pfs': ('Number of PFS Created', 'left top'), 'attacker distance': ('Meters', 'left top'), 'good move ratio': ('Good Move Ratio (%)', 'right top'), 'norm(norm(sent,time taken),num_nodes)': ('Messages Sent per node per second', 'right top'), } adaptive_results = results.Results( self.algorithm_module.result_file_path, parameters=self.algorithm_module.local_parameter_names, results=tuple(graph_parameters.keys()), source_period_normalisation="NumSources") varying = [("source period", " seconds"), ("communication model", "~")] error_bars = set( ) # {'received ratio', 'good move ratio', 'norm(norm(sent,time taken),num_nodes)'} for (vary, vary_prefix) in varying: for (yaxis, (yaxis_label, key_position)) in graph_parameters.items(): name = '{}-v-{}'.format(yaxis.replace(" ", "_"), vary.replace(" ", "-")) g = versus.Grapher(self.algorithm_module.graphs_path, name, xaxis='network size', yaxis=yaxis, vary=vary, yextractor=scalar_extractor) g.xaxis_label = 'Network Size' g.yaxis_label = yaxis_label g.vary_label = vary.title() g.vary_prefix = vary_prefix g.error_bars = yaxis in error_bars #g.nokey = True g.key_position = key_position g.create(adaptive_results) summary.GraphSummary( os.path.join(self.algorithm_module.graphs_path, name), '{}-{}'.format(self.algorithm_module.name, name)).run()
def _run_graph(self, args): graph_parameters = { 'normal latency': ('Normal Message Latency (ms)', 'left top'), 'ssd': ('Sink-Source Distance (hops)', 'left top'), 'captured': ('Capture Ratio (%)', 'right top'), 'sent': ('Total Messages Sent', 'left top'), 'received ratio': ('Receive Ratio (%)', 'left bottom'), } phantom_results = results.Results( self.algorithm_module.result_file_path, parameters=self.algorithm_module.local_parameter_names, results=tuple(graph_parameters.keys()), source_period_normalisation="NumSources" ) parameters = [ ('source period', ' seconds'), ('long walk length', ' hops'), ('short walk length', ' hops') ] custom_yaxis_range_max = { } for (parameter_name, parameter_unit) in parameters: for (yaxis, (yaxis_label, key_position)) in graph_parameters.items(): name = '{}-v-{}'.format(yaxis.replace(" ", "_"), parameter_name.replace(" ", "-")) g = versus.Grapher( self.algorithm_module.graphs_path, name, xaxis='network size', yaxis=yaxis, vary=parameter_name, yextractor=scalar_extractor ) g.xaxis_label = 'Network Size' g.yaxis_label = yaxis_label g.vary_label = parameter_name.title() g.vary_prefix = parameter_unit g.key_position = key_position if result_name in custom_yaxis_range_max: g.yaxis_range_max = custom_yaxis_range_max[result_name] g.create(phantom_results) summary.GraphSummary( os.path.join(self.algorithm_module.graphs_path, name), self.algorithm_module.name + '-' + name ).run()
def _run_graph(self, args): graph_parameters = { 'normal latency': ('Normal Message Latency (ms)', 'left top'), 'ssd': ('Sink-Source Distance (hops)', 'left top'), 'captured': ('Capture Ratio (%)', 'left top'), 'sent': ('Total Messages Sent', 'left top'), 'received ratio': ('Receive Ratio (%)', 'left bottom'), 'attacker distance': ('Meters', 'left top'), 'crash': ('Number of crash messages sent', 'left top'), } slp_tdma_das_crash_results = results.Results( self.algorithm_module.result_file_path, parameters=self.algorithm_module.local_parameter_names, results=tuple(graph_parameters.keys()), network_size_normalisation="UseNumNodes") for (vary, vary_prefix) in [("source period", " seconds")]: for (yaxis, (yaxis_label, key_position)) in graph_parameters.items(): name = '{}-v-{}'.format(yaxis.replace(" ", "_"), vary.replace(" ", "-")) g = versus.Grapher(self.algorithm_module.graphs_path, name, xaxis='network size', yaxis=yaxis, vary=vary, yextractor=scalar_extractor) g.xaxis_label = 'Number of Nodes' g.yaxis_label = yaxis_label g.vary_label = vary.title() g.vary_prefix = vary_prefix g.key_position = key_position g.create(slp_tdma_das_crash_results) summary.GraphSummary( os.path.join(self.algorithm_module.graphs_path, name), os.path.join( algorithm.results_directory_name, '{}-{}'.format(self.algorithm_module.name, name))).run()
def _run_graph(self, args): graph_parameters = { 'normal latency': ('Normal Message Latency (ms)', 'left top'), 'ssd': ('Sink-Source Distance (hops)', 'left top'), 'captured': ('Capture Ratio (%)', 'left top'), 'fake': ('Fake Messages Sent', 'left top'), 'sent': ('Total Messages Sent', 'left top'), 'received ratio': ('Receive Ratio (%)', 'left bottom'), 'tfs': ('Number of TFS Created', 'left top'), 'pfs': ('Number of PFS Created', 'left top'), 'tailfs': ('Number of TailFS Created', 'left top'), 'attacker distance': ('Attacker Distance From Source (Meters)', 'left top'), } adaptive_results = results.Results( self.algorithm_module.result_file_path, parameters=self.algorithm_module.local_parameter_names, results=tuple(graph_parameters.keys())) for (yaxis, (yaxis_label, key_position)) in graph_parameters.items(): name = '{}-v-source-period'.format(yaxis.replace(" ", "_")) g = versus.Grapher(self.algorithm_module.graphs_path, name, xaxis='network size', yaxis=yaxis, vary='source period', yextractor=scalar_extractor) g.xaxis_label = 'Network Size' g.yaxis_label = yaxis_label g.vary_label = 'Source Period' g.vary_prefix = ' seconds' g.key_position = key_position g.create(adaptive_results) summary.GraphSummary( os.path.join(self.algorithm_module.graphs_path, name), os.path.join(algorithm.results_directory_name, '{}-{}'.format(self.algorithm_module.name, name))).run()
def _run_graph(self, args): graph_parameters = { 'safety period': ('Safety Period (seconds)', 'left top'), 'time taken': ('Time Taken (seconds)', 'left top'), #'ssd': ('Sink-Source Distance (hops)', 'left top'), #'captured': ('Capture Ratio (%)', 'left top'), #'sent': ('Total Messages Sent', 'left top'), #'received ratio': ('Receive Ratio (%)', 'left bottom'), } protectionless_results = results.Results( self.algorithm_module.result_file_path, parameters=self.algorithm_module.local_parameter_names, results=tuple(graph_parameters.keys()), source_period_normalisation="NumSources") for (yaxis, (yaxis_label, key_position)) in graph_parameters.items(): name = '{}-v-configuration'.format(yaxis.replace(" ", "_")) g = versus.Grapher(self.algorithm_module.graphs_path, name, xaxis='network size', yaxis=yaxis, vary='configuration', yextractor=scalar_extractor) g.generate_legend_graph = True g.xaxis_label = 'Network Size' g.yaxis_label = yaxis_label g.vary_label = '' g.vary_prefix = '' g.nokey = True g.key_position = key_position g.create(protectionless_results) summary.GraphSummary( os.path.join(self.algorithm_module.graphs_path, name), '{}-{}'.format(self.algorithm_module.name, name)).run()
def _run_graph(self, args): graph_parameters = { 'normal latency': ('Normal Message Latency (ms)', 'left top'), 'ssd': ('Sink-Source Distance (hops)', 'left top'), 'captured': ('Capture Ratio (%)', 'right top'), 'sent': ('Total Messages Sent', 'left top'), 'received ratio': ('Receive Ratio (%)', 'left bottom'), 'paths reached end': ('Paths Reached End (%)', 'right top'), 'source dropped': ('Source Dropped Messages (%)', 'right top'), } custom_yaxis_range_max = { 'source dropped': 100, 'paths reached end': 100, } phantom_results = results.Results( self.algorithm_module.result_file_path, parameters=self.algorithm_module.local_parameter_names, results=tuple(graph_parameters.keys()), network_size_normalisation="UseNumNodes") parameters = [('source period', ' seconds'), ('walk length', ' hops')] for (parameter_name, parameter_unit) in parameters: for (yaxis, (yaxis_label, key_position)) in graph_parameters.items(): name = '{}-v-{}'.format(yaxis.replace(" ", "_"), parameter_name.replace(" ", "-")) g = versus.Grapher(self.algorithm_module.graphs_path, name, xaxis='network size', yaxis=yaxis, vary=parameter_name, yextractor=scalar_extractor) g.xaxis_label = 'Number of Nodes' g.yaxis_label = yaxis_label g.vary_label = parameter_name.title() g.vary_prefix = parameter_unit g.key_position = key_position g.nokey = True g.generate_legend_graph = True g.point_size = 1.3 g.line_width = 4 g.yaxis_font = "',14'" g.xaxis_font = "',12'" if yaxis in custom_yaxis_range_max: g.yaxis_range_max = custom_yaxis_range_max[yaxis] g.create(phantom_results) summary.GraphSummary( os.path.join(self.algorithm_module.graphs_path, name), os.path.join(algorithm.results_directory_name, self.algorithm_module.name + '-' + name)).run()