From 7430b4c651508bea5efe168407c5aa46e543c029 Mon Sep 17 00:00:00 2001 From: Lukas Prause Date: Tue, 10 Jan 2023 16:03:51 +0100 Subject: [PATCH] Adds plot for cdf. --- plot_transmission_timeline.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/plot_transmission_timeline.py b/plot_transmission_timeline.py index b8246f9..a437740 100755 --- a/plot_transmission_timeline.py +++ b/plot_transmission_timeline.py @@ -12,7 +12,6 @@ import matplotlib.pyplot as plt from mpl_toolkits import axisartist from mpl_toolkits.axes_grid1 import host_subplot -from util import chunk_list def csv_to_dataframe(csv_list, dummy): @@ -188,5 +187,31 @@ if __name__ == "__main__": if args.save: plt.savefig("{}timeline_plot.pdf".format(args.save)) + else: + plt.show() + + plt.clf() + + # Get the frequency, PDF and CDF for each value in the series + + # Frequency + stats_df = transmission_df \ + .groupby("goodput") \ + ["goodput"] \ + .agg("count") \ + .pipe(pd.DataFrame) \ + .rename(columns={"goodput": 'frequency'}) + + # PDF + stats_df['pdf'] = stats_df['frequency'] / sum(stats_df['frequency']) + + # CDF + stats_df['cdf'] = stats_df['pdf'].cumsum() + stats_df = stats_df.reset_index() + + stats_df.plot(x="goodput", y=["cdf"], grid=True) + + if args.save: + plt.savefig("{}cdf_plot.pdf".format(args.save)) else: plt.show() \ No newline at end of file