Adds plot for cdf.

This commit is contained in:
Lukas Prause
2023-01-10 16:03:51 +01:00
parent 91bae23ab1
commit 7430b4c651

View File

@@ -12,7 +12,6 @@ import matplotlib.pyplot as plt
from mpl_toolkits import axisartist from mpl_toolkits import axisartist
from mpl_toolkits.axes_grid1 import host_subplot from mpl_toolkits.axes_grid1 import host_subplot
from util import chunk_list
def csv_to_dataframe(csv_list, dummy): def csv_to_dataframe(csv_list, dummy):
@@ -188,5 +187,31 @@ if __name__ == "__main__":
if args.save: if args.save:
plt.savefig("{}timeline_plot.pdf".format(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: else:
plt.show() plt.show()